|
Вывод данных
|
|||
---|---|---|---|
#18+
Здравствуйте, постараюсь максимально понятно объяснить. У меня есть таблица "Справочник" где лежат только активные товары которые продаются, и есть таблица "остатки" в которых лежат данные по товарам и по количеству остатков товара. Мне нужно вывести товары у которых нету остатков но они должны быть активными. Я написал вот такой скрипт: Код: sql 1. 2. 3.
Он должен был вывести такой результат: справочникостаткиa23a4a5anullanulla6 null-это значение товаров у которых нету остатков но они активные. но вместо этого он мне выкидывает справочникостаткиa23a4a5null23null12a6 Короче говоря он добавляет мне остатки товаров которые не активные, но он выдает null так как в таблице "справочник" только активные товары. В идеале мне нужен запрос результат которого будет : справочникостаткиanullanullanullanull Товары у которых нету остатков. Для тех кто не понял скажем так есть 100 товаров и есть таблица остатков, когда я их объединяю он мне выводит только те товары у которых есть остатки на выходе допустим он выдает 60 товаров, но мне нужно чтобы он вывел 40 товаров у которых нет остатков. Добрые люди, подскажите как это сделать начинающему специалисту ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 14:24 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
Ablaykhan, потому что нужно понимать, что вы делаете, и что вы хотите в итоге получить. настоятельно рекомендую вам ознакомится с азами https://www.techonthenet.com/sql_server/joins.php ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 14:58 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
Ablaykhan, AblaykhanТовары у которых нету остатков. Для тех кто не понял скажем так есть 100 товаров и есть таблица остатков, когда я их объединяю он мне выводит только те товары у которых есть остатки на выходе допустим он выдает 60 товаров, но мне нужно чтобы он вывел 40 товаров у которых нет остатков. Добрые люди, подскажите как это сделать начинающему специалисту замените full на left и почитайте статью, инетерсная ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 16:05 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
Gerasimenko, Спасибо большое, прочитал статью. Full заменил на Left. Как я понял он должен был мне вернуть только те строки из таблицы остатков, в которых объединенные поля равны, а те которые в таблице справочника не существует в таблице заказов, все поля в таблице заказов должны были отображаться как <null > в наборе результатов. Но когда я вызываю саму таблицу: Код: sql 1.
он выдает 47505 строк Но когда я делаю левое соединение: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Он выдает 31864 строк, хотя должен был выдать как минимум столько же строк и рядом в столбце остатков вывести <null >. В идеале он мне должен вывести только те товары у которых нету остатков. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 07:32 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
Ablaykhan, потому что Вы не понимаете, как работает WHERE. не зная структуру Ваших данных, могу предположить, что условие из WHERE нужно перенести в LEFT JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 08:54 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
Gerasimenko Ablaykhan, потому что Вы не понимаете, как работает WHERE. не зная структуру Ваших данных, могу предположить, что условие из WHERE нужно перенести в LEFT JOIN Условия для внешних таблиц в WHERE допустимы только при INNER JOIN. Для внешних джоинов условия должны быть только в секции ON. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 11:11 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
L_argo Условия для внешних таблиц в WHERE допустимы только при INNER JOIN. Для внешних джоинов условия должны быть только в секции ON. Эту поправку к конституции разве приняли? Условия должны быть там, где они должны быть. ВашЪ КО. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 11:25 |
|
Вывод данных
|
|||
---|---|---|---|
#18+
L_argo Условия для внешних таблиц в WHERE допустимы только при INNER JOIN. Для внешних джоинов условия должны быть только в секции ON Код: sql 1.
?? Однако, не понимаю, почему вы не используете алиасы таблиц? И не пишете алиасы у полей таблиц в запросе? По крайней мере, всегда было бы понятно, какие поля из каких таблиц используются. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 12:22 |
|
|
start [/forum/topic.php?fid=46&msg=40107662&tid=1684156]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
136ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 469ms |
0 / 0 |