Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 21 22 23 24 25 [26] 27 28 29 30 31   вперед  Ctrl
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
gluchenso
Member

Откуда: Украина, Киев.
Сообщений: 290
при Инсерте мона пользоваться вставкой как VALUES так и SELECT.
Так вот вопрос, при вставке селектом, как задать чтобы в поле было DEFAULT значение?
При вставке через VALUES все гуД, а как так сделать через SELECT не могу понять.

G L U K
20 сен 08, 14:22    [6208614]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
gluchenso
Member

Откуда: Украина, Киев.
Сообщений: 290
INSERT INTO a 
values (1,2,DEFAULT)

как через селект замутитЬ?

G L U K
20 сен 08, 14:24    [6208617]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Glory
Member

Откуда:
Сообщений: 104751
gluchenso
INSERT INTO a 
values (1,2,DEFAULT)

как через селект замутитЬ?

G L U K

Почему вы считаете, что ваш вопрос соответствует теме данного топика ?
20 сен 08, 14:42    [6208625]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
gluchenso
Member

Откуда: Украина, Киев.
Сообщений: 290
Glory

Почему вы считаете, что ваш вопрос соответствует теме данного топика ?


Потому что я пытаюсь решить упражение 4 (DML) с этого сайта.
И для меня данная тема актуальна:)

G L U K
20 сен 08, 14:45    [6208628]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
echmel
Member

Откуда:
Сообщений: 50
Кстати - есть упражнения по SQL вот здесь: http://forum.chertenok.ru/ex_exercises.php
Только вместо MS SQL используется MySQL.
16 дек 08, 08:27    [6574765]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
йцукнег
Guest
2 echmel: а где там скрипты с ДАННЫМИ (а не только описания структур и DDL создания таблиц) ?
16 дек 08, 12:44    [6576478]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
echmel
Member

Откуда:
Сообщений: 50
Скриптов нет. Просто не выкладывал...
Выложу.
17 дек 08, 02:04    [6580628]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
йцукнег
Guest
echmel
Скриптов нет. Просто не выкладывал... Выложу.

ну, и когда они там будут ? что-то не вижу в упор - дайте тынц, плз.
18 дек 08, 09:25    [6587211]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
jamal131
Guest
Задача 50.
Вес снаряда (в фунтах), выпускаемого орудием, примерно равен половине куба его калибра (в дюймах). Определите средний вес снарядов для кораблей каждой страны. Учесть также корабли из таблицы Outcomes.

Следуя советам по решению этой задачки убрал все дублирующие записи из Outcomes...
вот скрипт
SELECT distinct Classes.country, (
SELECT AVG( pen.p )
FROM
(
SELECT (c1.bore*c1.bore*c1.bore)/2 AS p
FROM Classes AS c1, Ships AS s1
WHERE c1.class=s1.class
AND c1.country = Classes.country
AND c1.bore IS NOT NULL
UNION ALL
SELECT (c2.bore*c2.bore*c2.bore)/2
FROM Classes AS c2, (
select distinct ship
from Outcomes
) as d

WHERE c2.country = Classes.country
AND c2.class=d.ship
AND c2.bore IS NOT NULL
AND d.ship NOT IN ( SELECT ss.name FROM Ships AS ss )
) AS pen
WHERE pen.p IS NOT NULL ) AS weight
FROM Classes
WHERE Classes.country IS NOT NULL

все равно выдает * Неверное число записей (больше на 1)...объясните пожалуйста что не првавильно делаю или подправте меня моя логика следующяя : выбираю все записи из таблицы Ships и все неповторяющиеся названия кораблей из таблицы Outcomes ... где в логике ошибка?
24 май 09, 04:44    [7219547]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Roamer
Member

Откуда: г.Краснодар
Сообщений: 38
Упражнения мне сразу понравились. :) Жалко только, что мое рекурсивное решение задачи №4 (суммирование цифр) было отвергнуто системой, т.к. оно начинается со слова WITH. Хотя, если поставить галочку "Без проверки", то выдает верный результат. Приведу тогда его здесь, раз уж этот скрипт все равно правильным ответом не считается. ;)
WITH SumS(model, SumDig, m) AS 
(
    SELECT model, 0 AS SumDig, model as m
	from Product
    WHERE model is not Null
	UNION ALL
    SELECT ss.model, SumDig + case when left(ss.m, 1) like '[0-9]' then cast((left(ss.m, 1)) as int) else 0 end, substring(ss.m, 2, len(ss.m)-1) as m
    FROM Product c
	join SumS ss
		on c.model = ss.model
    WHERE ss.m <> ''
)
SELECT model, max(SumDig) as SumStr
FROM SumS
group by model
9 июн 09, 17:29    [7282374]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
alx111
Member

Откуда:
Сообщений: 92
Roamer,

Вместо того, чтобы постить свои ответы где попало, внимательно ознакомьтесь сначала с правилами на сайте www.sql-ex.ru
10 июн 09, 08:11    [7283816]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Roamer
Member

Откуда: г.Краснодар
Сообщений: 38
alx111
Вместо того, чтобы постить свои ответы где попало, внимательно ознакомьтесь сначала с правилами на сайте www.sql-ex.ru

Спасибо за замечание, я действительно невнимательно прочел FAQ:
24. Почему я не могу использовать CTE для решения задач на сайте?
CTE - общие табличные выражения - появились только в SQL Server 2005. Поскольку на сайте в течение нескольких лет использовался SQL Server 2000, то это сделано для обеспечения равных условий с участниками рейтинговой системы тех лет. Тем не менее, CTE разрешается использовать с флажком "без проверки" или после того, как задача уже решена. Участники третьего рейтингового этапа могут использовать их для решения любых задач на сайте.
10 июн 09, 10:40    [7284288]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Anddros
Member

Откуда:
Сообщений: 1077
Roamer
alx111
Вместо того, чтобы постить свои ответы где попало, внимательно ознакомьтесь сначала с правилами на сайте www.sql-ex.ru

Спасибо за замечание, я действительно невнимательно прочел FAQ:
...

Совсем невнимательно:
+ FAQ
предупреждаем вас о необходимости придерживаться следующих простых правил:
a) вы не должны публиковать формулировки задач и просить помощи в их решении на стороне;
b) в затруднительных случаях вы можете попросить помощи, написав разработчикам.
При нарушении пункта a) мы оставляем за собой право применить репрессивные меры вплоть до удаления учетной записи.

http://www.sql-ex.ru/faq.php#f7
10 июн 09, 15:10    [7286131]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Roamer
Member

Откуда: г.Краснодар
Сообщений: 38
Anddros
Совсем невнимательно:

В данном случае невнимательность проявили Вы :( - указанный пункт №7 относится к разделу сайта "сертификационный этап тестирования", а упомянутая мной задача - к обучающему этапу.
10 июн 09, 17:35    [7287077]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Чемодан
Guest
А зачем решение задачи с того сайта приводить именно тут ? почему бы не там, если Вы всё-таки решили эту задачу ? всё-таки на том сайте больше заинтересованных лиц по данной тематике (имхо).
ЗЫ. Лучше прислушайтесь к мнению Alx111 & Andros: задача хоть и с учебного этапа, но рейтинговые совсем скоро будут, даже не заметите :-) А про рейтинговые сболтнуть - это уже прямое нарушение правил sql-ex.
11 июн 09, 00:26    [7288109]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Roamer
Member

Откуда: г.Краснодар
Сообщений: 38
Чемодан
А зачем решение задачи с того сайта приводить именно тут ?

Прошу меня простить за неуклюжую попытку привлечь внимание к этому замечательному сайту. В дальнейшем воспользуюсь Вашим советом и переберусь на форум sql-ex.
11 июн 09, 09:30    [7288422]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Erik_Kartmann
Member

Откуда: Пиндырдышханда
Сообщений: 948
За отсутствие меня там год они заменили 10 заданий (
11 июн 09, 09:43    [7288501]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
Anddros
Member

Откуда:
Сообщений: 1077
Roamer
Anddros
Совсем невнимательно:

В данном случае невнимательность проявили Вы :( - указанный пункт №7 относится к разделу сайта "сертификационный этап тестирования", а упомянутая мной задача - к обучающему этапу.

Похоже небольшое недопонимание имеет место быть. :) Из-за устаревшего ФАКа. Судя по всему он писался еще в те времена, когда обучающим считался первый этап. Сейчас же есть выделенный обучающий этап. И есть первый сертификационный этап, к которому и принадлежит упомянутая Вами задача.

И если на публикации с первого или обучающего этапа администрация сайта не особо обращает внимание, то распространение информации о задачах второго/третьего этапа преследуется жестко. Имейте это ввиду.

ЗЫ. Просьба модераторам: убейте номер задачи из сообщения
https://www.sql.ru/forum/actualpost.aspx?bid=1&tid=22955&mid=7287077&p=26&act=quot#7282374
11 июн 09, 11:37    [7289191]     Ответить | Цитировать Сообщить модератору
 в чем ошибка?  [new]
profik777
Member

Откуда:
Сообщений: 143
select * from (select * from ships, classes where ships.class = classes.class)
Выдает ошибку
"Incorrect syntax near ')'."
26 июн 09, 13:31    [7347792]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

select * from (select * from ships, classes where ships.class = classes.class) as t

Posted via ActualForum NNTP Server 1.4

26 июн 09, 13:36    [7347828]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
profik777
Member

Откуда:
Сообщений: 143
спасибо !!!
26 июн 09, 14:38    [7348299]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
profik777
Member

Откуда:
Сообщений: 143
Есть запрос, который использует результат запроса2

select count(name) as cnt, class
from (select ......) as zapr
group by class
having count(name)>=3 and class in (Запрос2)

где Запрос2=(select......)


выдает ошибку "Only one expression can be specified in the select list when the subquery is not introduced with EXISTS."

Я уже перепробовал все, что мог. Подскажите, как правильно написать.

Спасибо
30 июн 09, 19:12    [7360820]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
H2O2
Guest
Полагаю, что 'Запрос2' у Вас возвращает больше одного поля.
Как-то так:
select count(name) as cnt, class
from (select 'Xz' as name, 12 as class) as zapr
group by class
having count(name)>=1 and class in (select 12, 13)

Нужно только одно:
select count(name) as cnt, class
from (select 'Xz' as name, 12 as class) as zapr
group by class
having count(name)>=1 and class in (select 12)
30 июн 09, 21:44    [7361132]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
profik777
Member

Откуда:
Сообщений: 143
H2O2, Спасибо !
1 июл 09, 10:13    [7361913]     Ответить | Цитировать Сообщить модератору
 Re: Ваше мнение об упражнениях SELECT на http://sql.ipps.ru  [new]
hermann
Member

Откуда:
Сообщений: 20
Мозг поломал окончательно..
Есть там задачка, простенькая, на первый взгляд..
"Для таблицы Outcomes преобразовать названия кораблей, содержащих более одного пробела, следующим образом.
Заменить все символы между первым и последним пробелами (исключая сами эти пробелы) на символы звездочки (*)
в количестве, равном числу замененных символов."
Сначало было так:
select ship, 
substring(ship,1,patindex('% %',ship))+
replicate('*',len(substring(ship,patindex('% %',ship)+1,patindex('% %',substring(ship,patindex('% %',ship)+1,len(ship))))))+
substring(substring(ship,patindex('% %',ship)+1,len(ship)),patindex('% %',substring(ship,patindex('% %',ship)+1,len(ship))),len(ship))
from outcomes
where len(ship)-len(replace(ship,' ',''))>1
Результат совпадает,но проверку не прошло, ФАК выдаёт следующее:"Учтите имя корабля, состоящее из одних пробелов."
На поверку оказалось, что я забыл (а если честно не знал:) ), что при
@a='              ' len(@a)=0
Ок, исправляю так
select
ship, a=
case
	when len(ship)-len(replace(ship,' ',''))>1 then 
		substring(ship,1,patindex('% %',ship))
		+
		replicate('*',
		len(ship)-len(substring(ship,1,patindex('% %',ship)+1))
		-len(substring(reverse(ship),1,patindex('% %',reverse(ship))-1)))
		+
		reverse(substring(reverse(ship),1,patindex('% %',reverse(ship))))
	when len(ship)=0 then ' '+substring(replace(ship,' ','*'),1,len(replace(ship,' ','*'))-2)+' '
end
from outcomes
where len(ship)-len(replace(ship,' ',''))>1 or len(ship)=0
Результат возвращает верный, на моей базе поля типа
'      '
обрабатываются корректно, но система пишет всёравно "Ваш запрос вернул правильные данные на основной базе, но не прошел тест на проверочной базе."
Плиз, хелп ибо у меня мысли иссякли..
10 сен 09, 13:05    [7641569]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 21 22 23 24 25 [26] 27 28 29 30 31   вперед  Ctrl
Все форумы / Microsoft SQL Server Ответить