|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Имеется SQL запрос: Код: sql 1. 2. 3. 4.
Если в таблице DOLYAUSTKAPEGRUL нет записей, все хорошо. Если есть, в результате запроса записи дублируются со значением в поле C.NOMINSTOIM и с NULL В поле C.NOMINSTOIM Извиняюсь за корявое объяснение. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 11:34 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
left и right сознательно использованы? или "так вышло" ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 11:55 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, Поставь условие C.NOMINSTOIM is not null. Если есть записи с null и без, то обе записи и отображаются. Что Вы хотите видеть в итоге? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:11 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящийleft и right сознательно использованы? или "так вышло" ? right сознательно, в таблице SVFLEGRUL записи обязательно должны быть. А вот в таблице DOLYAUSTKAPEGRUL могут быть, а могут и не быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:16 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXI, Хочу видеть ФИО не зависимо от того, есть в таблице DOLYAUSTKAPEGRUL записи или нет. Но если они есть, не хочу видеть ФИО два раза, с пустым полем NOMINSTOIM и не пустым. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:18 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXI, мне нужно, что бы и C.NOMINSTOIM = NULL отображались, если в таблице нет записей. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:22 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 12:16, grav пишет: > right сознательно, в таблице SVFLEGRUL записи обязательно должны быть. это не сознательно. это "так вышло". в противном случае был бы INNER JOIN. Код: sql 1. 2. 3. 4. 5.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:36 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий, изначально был INNER, но для DOLYAUSTKAPEGRUL, пользователи пожаловались, что учредители есть, но не отражаются. Я не задумываясь поставил left для DOLYAUSTKAPEGRUL. В общем осознал. Спасибо! Работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 12:57 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Нет, поторопился. Все также. Если записей нет в DOLYAUSTKAPEGRUL - все корректно. Если есть, то ФИО по два раза. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 13:03 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 12:57, grav пишет: > Я не задумываясь поставил left для DOLYAUSTKAPEGRUL. LEFT ты поставил правильно, а вот с RIGHT начал "шаманить". азбука для начинающих примерно такова: LEFT нужно размещать в самом конце, после INNER-ов. а не в середине, как у тебя. по крайней мере до тех пор, пока не придёт понимание того как эта вся машинерия работает и кто с кем как джойнится. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 13:04 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 13:03, grav пишет: > Если записей нет в DOLYAUSTKAPEGRUL - все корректно. > Если есть, то ФИО по два раза. значит у тебя в DOLYAUSTKAPEGRUL 2 записи, отвечающие условию C.ID=A.DOLYAUSTKAP выведи их целиком и посмотри в чем отличие. найди нужную и отсеки лишние. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 13:15 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
gravKreatorXXI, мне нужно, что бы и C.NOMINSTOIM = NULL отображались, если в таблице нет записей. Если уберёшь из запроса C.NOMINSTOIM, то будет как надо. Если нужно и C.NOMINSTOIM видеть, то distinct убери и попробуй поэкспериментировать с group by. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 13:53 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящийзначит у тебя в DOLYAUSTKAPEGRUL 2 записи, отвечающие условию C.ID=A.DOLYAUSTKAP точно, две. Одна с C.NOMINSTOIM = NULL Это еще хуже :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 14:40 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
В общем вот такая фигня получается. Нижние 4 записи правильные. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 14:49 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 14:40, grav пишет: > Автор: grav. Мимопроходящий > значит у тебя в DOLYAUSTKAPEGRUL 2 записи, отвечающие условию C.ID=A.DOLYAUSTKAP > > > точно, две. Одна с C.NOMINSTOIM = NULL > Это еще хуже :( ну так и отсекай их Код: sql
зы: и выясни, каким макаром (и занафига?!) такие записи попадают в эту таблицу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 14:53 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий, Не могу отсекать, многие действительно с NOMINSTOIM = NULL, они нужны. Надо выяснять откуда взялись задвоения в базе и какие из них правильные ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:15 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 15:15, grav пишет: > Не могу отсекать, многие действительно с NOMINSTOIM = NULL, они нужны. если ты НЕ селектишь из этой таблицы другие поля, кроме NOMINSTOIM, то всё будет Ок. > Надо выяснять откуда взялись задвоения в базе и какие из них правильные вот это самое верное решение. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:25 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий если ты НЕ селектишь из этой таблицы другие поля, кроме NOMINSTOIM, то всё будет Ок. Вот этот результат запроса корректный. А если выставитьC.NOMINSTOIM IS NOT NULL будет нулевой результат ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:37 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 15:37, grav пишет: > будет нулевой результат моя твоя не понимай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:46 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящиймоя твоя не понимай. На картинке правильный результат выполнения запроса. Нельзя добавить, результат неверный будет Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:49 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 15:49, grav пишет: > результат неверный будет какой? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 15:54 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, укажи алиасы таблиц у всех столбцов, и добавь в выборку столбцы-идентфикаторы всех связей. Тогда ты увидишь, для записей из каких таблиц лезут дубли. для исходного запроса (в первом сообщении) это Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:07 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий21.07.2017 15:49, grav пишет: > результат неверный будет какой? Нулевой. Записи запрос не вернет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:19 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
kdv, Я так и сделал, результат на первой картинке. Откуда дубли ясно. Почему они есть в таблице не ясно, разбираюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:22 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 16:19, grav пишет: > Нулевой. Записи запрос не вернет. чот ты гонишь братец-кролик... нуко, скопируй сюда текст запроса и результат. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:24 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
gravМимопроходящийесли ты НЕ селектишь из этой таблицы другие поля, кроме NOMINSTOIM, то всё будет Ок. Вот этот результат запроса корректный. А если выставитьC.NOMINSTOIM IS NOT NULL будет нулевой результат Понятно, здесь же нет записей not null. Неясно изначально, что надо получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:30 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий21.07.2017 16:19, grav пишет: > Нулевой. Записи запрос не вернет. чот ты гонишь братец-кролик... нуко, скопируй сюда текст запроса и результат. ну я не проверял, предположил только :) Сейчас проверю ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:30 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий21.07.2017 16:19, grav пишет: > Нулевой. Записи запрос не вернет. чот ты гонишь братец-кролик... нуко, скопируй сюда текст запроса и результат. Вот запрос и результат. Объяснить результаты себе не могу Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:37 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, Убери из запроса поле C.NOMINSTOIM. И будет счастье. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:40 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 16:40, KreatorXXI пишет: > > Убери из запроса поле C.NOMINSTOIM. И будет счастье. не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:41 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXIgrav, Убери из запроса поле C.NOMINSTOIM. И будет счастье. Дык оно нада :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:42 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Мимопроходящий, между прочим, приводимый ТС результат не относится к приводимому им запросу. У него 5 полей селектится. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:44 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
21.07.2017 16:44, KreatorXXI пишет: > между прочим, приводимый ТС результат не относится к приводимому им запросу. У него 5 полей селектится. угу. но клиент попался упорный... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:45 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, а что надо? Что должно быть в результате? Можно озвучить-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:45 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXIМимопроходящий, между прочим, приводимый ТС результат не относится к приводимому им запросу. У него 5 полей селектится. Я их вырезал. Персональные данные. Там ИНН и Фамилия еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:47 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXIgrav, а что надо? Что должно быть в результате? Можно озвучить-то? Должны быть 4 последние записи. Но это запросом не решишь похоже, потому что причина в базе (таблице). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:50 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, OK. Вырезанные поля одинаковы для одинаковых людей? Различие только в C.NOMINSTOIM? Если да, то просто это поле вообще убираешь из рассмотрения. И всё. Другой вопрос - откуда вообще задвоения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:50 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
grav, приводишь совсем другой запрос. Для этого запроса убери distinct и поставь условие C.NOMINSTOIM is not null. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 16:53 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
делаем запрос: Код: sql 1. 2. 3.
результат: IDV1102203304NULL Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 17:03 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
gravДолжны быть 4 последние записи. Но это запросом не решишь похоже, потому что причина в базе (таблице). Там же LEFT JOIN стоит. Как я понимаю, условие "IS NOT NULL" выполняется, и в таблице C записей не находится, поэтому по правилу LEFT JOIN он вместо них подставляет NULL'ы (не из записей, а по-дефолту). Разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2017, 21:58 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
alekcvpgravДолжны быть 4 последние записи. Но это запросом не решишь похоже, потому что причина в базе (таблице). Там же LEFT JOIN стоит. Как я понимаю, условие "IS NOT NULL" выполняется, и в таблице C записей не находится, поэтому по правилу LEFT JOIN он вместо них подставляет NULL'ы (не из записей, а по-дефолту). Разве нет? Да. Но дело не в этом. У ТС в таблице C задвоенные записи. И как-бы видеть две записи он не хочет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2017, 12:37 |
|
Помогите с SQL запросом
|
|||
---|---|---|---|
#18+
KreatorXXI У ТС в таблице C задвоенные записи. И как-бы видеть две записи он не хочет. А если тогда простой JOIN? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2017, 12:42 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1561492]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
142ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 273ms |
0 / 0 |