Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.07.2019, 22:50
|
|||
|---|---|---|---|
|
|||
получаю сообщение об ошибке. помогите разобраться. |
|||
|
#18+
Всем привет. Помогите найти ошибку. Условие таково: Из таблицы "products" выбрать наименования продуктов относящихся к категории "Seafood", но и при условии, что регион поставщика (Region) не известен. Запрос который написал я, выглядит следующим образом: select P.ProductName from Products P join Categories C on C.CategoryID = P.CategoryID where C.CategoryName = 'Seafood' join Suppliers S on S.SupplierID = P.SupplierID where S.Region IS NULL Сообщение об ошибке звучит так: Msg 156, Level 15, State 1, Line 6 Incorrect syntax near the keyword 'join'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2019, 23:12
|
|||
|---|---|---|---|
|
|||
получаю сообщение об ошибке. помогите разобраться. |
|||
|
#18+
Leon4ik, Сервер не может понять к чему относятся ваши where clause. Условия для join пишутся в другом формате, без where. В одном предложении может быть только одно where clause. Почему у вас условия where C.CategoryName = 'Seafood' и where S.Region IS NULL отдельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2019, 23:32
|
|||
|---|---|---|---|
|
|||
получаю сообщение об ошибке. помогите разобраться. |
|||
|
#18+
PizzaPizza, Так как при поставленном условии я вынужден использовать данные из трех таблиц, а регион поставщика находится в таблице ("Suppliers"), которую мне нужно присоединить к предыдущим таблицам и уж тогда указать дополнительное условие. возможно я заблуждаюсь, так как я пока обучаюсь. Вы могли бы внести в коррективы в запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.07.2019, 23:58
|
|||
|---|---|---|---|
|
|||
получаю сообщение об ошибке. помогите разобраться. |
|||
|
#18+
PizzaPizza, Спасибо, вы оказались правы. Немного изменил запрос и всё заработало. А вот и исправленный запрос: select P.ProductName from Products P join Categories C on C.CategoryID = P.CategoryID join Suppliers S on S.SupplierID = P.SupplierID where C.CategoryName = 'Seafood' and S.Region IS NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2019, 02:09
|
|||
|---|---|---|---|
|
|||
получаю сообщение об ошибке. помогите разобраться. |
|||
|
#18+
Leon4ik, Ага Вы просите сервер применить условие where к выборке, которая представляет собой объединение таблиц по условию объединения . Вы могли бы написать условие объединения ограничив вторую таблицу вашим условием S.Region IS NULL , но тогда в условии объединения это пишется в секции ON вроде этого ON S.SupplierID = P.SupplierID AND S.Region IS NULL Но не забывайте про декларативность языка - вы просите сервер сделать так, а физическое выполнение это другая история. Соответственно и разница вариантов в вашем случае будет только в тексте запроса, а не в его исполнении на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1687533]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 355ms |

| 0 / 0 |
