Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
всем добрый день!

решаю упражнение [N], по логике всё понятно, и в принципе решение готово, но с синтаксисом какие-то проблемы =(
поэтому привожу сразу запрос с вопросом, почему возникает ошибка Incorrect syntax near the keyword 'inner'.


По отдельности запросы работают правильно и возвращают нужный результат, но при соединении пишется ошибка.

Буду очень благодарна за помощь!

Текст запроса:

select maker from 
(select maker, count (distinct type) as number from product
where type = 'laptop'  or type = 'pc'
group by maker) as x

where x.number = 2

inner join 

(select distinct model,speed from laptop
union all
select distinct model, speed from pc) as y

on x.model = y.model

where y.speed >= 750


Сообщение было отредактировано: 16 сен 13, 18:37
16 сен 13, 18:31    [14846560]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
рафинад сахарович
Guest
skleppi
всем добрый день!

решаю упражнение [23], по логике всё понятно, и в принципе решение готово, но с синтаксисом какие-то проблемы =(
поэтому привожу сразу запрос с вопросом, почему возникает ошибка Incorrect syntax near the keyword 'inner'.


По отдельности запросы работают правильно и возвращают нужный результат, но при соединении пишется ошибка.

Буду очень благодарна за помощь!

Текст запроса:

select maker from 
(select maker, count (distinct type) as number from product
where type = 'laptop'  or type = 'pc'
group by maker) as x
>>>
where x.number = 2
<<<
inner join 

(select distinct model,speed from laptop
union all
select distinct model, speed from pc) as y

on x.model = y.model

where y.speed >= 750
16 сен 13, 18:35    [14846570]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
select maker from 
(select maker, count (distinct type) as number from product
where type = 'laptop'  or type = 'pc'
group by maker
having count (distinct type) = 2
) as x
--where x.number = 2
inner join
(select distinct model,speed from laptop
union all
select distinct model, speed from pc) as y

on x.model = y.model

where y.speed >= 750


Сообщение было отредактировано: 16 сен 13, 18:36
16 сен 13, 18:36    [14846574]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
Гость333
Member

Откуда:
Сообщений: 3683
skleppi
решаю упражнение [N]

То есть вы решили [N-1] упражнений, и до сих пор не освоили синтаксис SQL?!

Текст запроса:

skleppi
select maker from 
(select maker, count (distinct type) as number from product
where type = 'laptop'  or type = 'pc'
group by maker) as x

where x.number = 2 -- сюда уже указали

inner join 

(select distinct model,speed from laptop
union all
select distinct model, speed from pc) as y

on x.model = y.model  -- откуда должен браться x.model?  

where y.speed >= 750
16 сен 13, 18:42    [14846582]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
Гость333,

освоила, но применяю пока его неуверенно
16 сен 13, 18:46    [14846594]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
Гость333,

спасибо за помощь, про ошибку x.model поняла
а что имеется в виду под "сюда уже указали" ? :)
16 сен 13, 18:48    [14846605]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
исправила на

select maker, model from product
where maker in 

(
select maker from 
(select maker, count (distinct type) as type_number from product
where type = 'laptop'  or type = 'pc'
group by maker
having count (distinct type) = 2)
) as x

inner join 

(select distinct model,speed from laptop
union all
select distinct model, speed from pc) as y

on x.model = y.model

where y.speed >= 750


теперь ошибка - Incorrect syntax near ')'.
16 сен 13, 19:01    [14846651]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
Гость333
Member

Откуда:
Сообщений: 3683
skleppi
а что имеется в виду под "сюда уже указали" ? :)

То, что на выделенную мной ошибку уже указали выше.
16 сен 13, 19:04    [14846664]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
Гость333
skleppi
а что имеется в виду под "сюда уже указали" ? :)

То, что на выделенную мной ошибку уже указали выше.


да, я поняла
16 сен 13, 19:05    [14846669]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
skleppi
теперь ошибка - Incorrect syntax near ')'.
начинайте читать БОЛ ,а именно с раздела select ,иначе ниче у вас не получится по факту
17 сен 13, 10:38    [14847795]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
skleppi
Member

Откуда:
Сообщений: 170
Maxx
skleppi
теперь ошибка - Incorrect syntax near ')'.
начинайте читать БОЛ ,а именно с раздела select ,иначе ниче у вас не получится по факту


ну а в чем ошибка в данном конкретном случае...
17 сен 13, 10:50    [14847862]     Ответить | Цитировать Сообщить модератору
 Re: Упражнение с сайта sql-ex.ru  [new]
Glory
Member

Откуда:
Сообщений: 104760
skleppi
ну а в чем ошибка в данном конкретном случае...

В Incorrect syntax near ')'.

И решение задач с sql-ex.ru запрещено искать на других ресурсах
17 сен 13, 10:54    [14847889]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить