Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
vitalii_sid Member Откуда: Сообщений: 6 |
Народ, подскажите в чем причина: почему результат нулевой, хотя заказы из 77 региона в 50 точно есть в БД? select b1.ORDER_CUSTOMER, b1.SOURCE_LOCATION, b1.DEST_LOCATION from table b1 JOIN table a1 ON b1.SOURCE_LOCATION=a1.LOCATION_ID JOIN table a2 ON b1.DEST_LOCATION=a2.LOCATION_ID where a1.PROVINCE_CODE='77' and a2.PROVINCE_CODE='50' также хочу заметить, что таблица с локациями одна (table a2 = table a1) |
10 дек 17, 01:15 [21021387] Ответить | Цитировать Сообщить модератору |
SIMPLicity_ Member Откуда: (((@))) Сообщений: 8823 |
попробуйте сначала по-отдельности: select b1.ORDER_CUSTOMER, b1.SOURCE_LOCATION, b1.DEST_LOCATION , a1.* from table b1 JOIN table a1 ON b1.SOURCE_LOCATION=a1.LOCATION_ID where a1.PROVINCE_CODE='77' select b1.ORDER_CUSTOMER, b1.SOURCE_LOCATION, b1.DEST_LOCATION ,a2.* from table b1 JOIN table a2 ON b1.DEST_LOCATION=a2.LOCATION_ID where a2.PROVINCE_CODE='50' |
10 дек 17, 01:22 [21021389] Ответить | Цитировать Сообщить модератору |
vitalii_sid Member Откуда: Сообщений: 6 |
SIMPLicity_, по отдельности работает |
10 дек 17, 01:29 [21021393] Ответить | Цитировать Сообщить модератору |
SIMPLicity_ Member Откуда: (((@))) Сообщений: 8823 |
Ок. Чо выводит (если не секрет, конечно)... |
||
10 дек 17, 01:29 [21021394] Ответить | Цитировать Сообщить модератору |
vitalii_sid Member Откуда: Сообщений: 6 |
SIMPLicity_, не секрет: в первом случае только те заказы, где пункт отправления 77 регион, а во во втором - пункт назначения где 55 регион |
10 дек 17, 01:33 [21021396] Ответить | Цитировать Сообщить модератору |
SIMPLicity_ Member Откуда: (((@))) Сообщений: 8823 |
И это... table трижды упомянуто,- это действительно одна и та же таблица под псевдонимами a1, a2 и b1? |
10 дек 17, 01:33 [21021397] Ответить | Цитировать Сообщить модератору |
vitalii_sid Member Откуда: Сообщений: 6 |
SIMPLicity_, таблиц две штуки: таблица с локациями одна ( а1 и а2), таблица заказами клиентов (b1) содержит в себе номер заказа, пункт назначения и отправления |
10 дек 17, 01:35 [21021398] Ответить | Цитировать Сообщить модератору |
SIMPLicity_ Member Откуда: (((@))) Сообщений: 8823 |
Тады запрос в теме не соответствует тому, который "пустой" есть на самом деле?... Пример таблиц и данных (и сам запрос) можно? Можно без конкретики (ну, выдуманное там чонить), главное что б понимать где што лежит.... |
||
10 дек 17, 01:40 [21021401] Ответить | Цитировать Сообщить модератору |
vitalii_sid Member Откуда: Сообщений: 6 |
SIMPLicity_, примеры очень условные: таблица с заказами b1, где значения SOURCE_LOCATION, DEST_LOCATION - индексы
таблица c локациями ( каждому индексу соответствует регион )
|
|||||||||||||||||||||||||||||||||
10 дек 17, 01:57 [21021407] Ответить | Цитировать Сообщить модератору |
SIMPLicity_ Member Откуда: (((@))) Сообщений: 8823 |
У тя вообще-то видимо какая-то фигня с запросом по жизни. Либо не MSSQL. Твой запрос на твоих данных работает: declare @b1 table ( ORDER_CUSTOMER int, SOURCE_LOCATION int, DEST_LOCATION int); insert into @b1 values (100, 70, 40), (200, 68, 70), (201, 40, 33), (201, 50, 41) ; select * from @b1 declare @a table ( LOCATION_ID int, LOCATION_NAME nvarchar(100), PROVINCE_CODE int); insert into @a values (70, 'МОСКВА', 77), (68, 'СПБ', 77), (40, 'ТАМБОВ', 50), (50, 'ВОРОНЕЖ', 50) ; select * from @a; select b1.ORDER_CUSTOMER, b1.SOURCE_LOCATION, b1.DEST_LOCATION from @b1 b1 JOIN @a a1 ON b1.SOURCE_LOCATION=a1.LOCATION_ID JOIN @a a2 ON b1.DEST_LOCATION=a2.LOCATION_ID where a1.PROVINCE_CODE='77' and a2.PROVINCE_CODE='50'
|
||||||||
10 дек 17, 02:21 [21021412] Ответить | Цитировать Сообщить модератору |
vitalii_sid Member Откуда: Сообщений: 6 |
SIMPLicity_, спасибо! попробую еще разок завтра, отпишусь |
10 дек 17, 02:37 [21021419] Ответить | Цитировать Сообщить модератору |
Litwa Member Откуда: Сообщений: 21 |
SIMPLicity_, все получилось, сделал все сначала) спасибо! |
11 дек 17, 22:09 [21025370] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |