Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
UNION увеличивает количество выводимых строк.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Столкнулся с интересным случаем: Имеется 2 запроса. Первый по оплаченным чекам, второй по неоплаченным. Запросы не имеют уникального идентификатора. При совмещении этих запросов через UNION, результат увеличивается на 7 лишних строк. С 3366+24 = 3390 до 3397. При добавлении в запрос Id содержащихся в чеке единиц продаж (часть id имеют дубль из запроса 1 в запросе 2), то результат выводится правильный 3390. Непонятно, как UNION может увеличивать количество выводимых строк. Может кто разъяснит подобное поведение программы? Заранее благодарю! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:11 |
|
||
|
UNION увеличивает количество выводимых строк.
|
|||
|---|---|---|---|
|
#18+
Kirill_l.s.Добрый день! Столкнулся с интересным случаем: Имеется 2 запроса. Первый по оплаченным чекам, второй по неоплаченным. Запросы не имеют уникального идентификатора. При совмещении этих запросов через UNION, результат увеличивается на 7 лишних строк. С 3366+24 = 3390 до 3397. При добавлении в запрос Id содержащихся в чеке единиц продаж (часть id имеют дубль из запроса 1 в запросе 2), то результат выводится правильный 3390. Непонятно, как UNION может увеличивать количество выводимых строк. Может кто разъяснит подобное поведение программы? Заранее благодарю! Легко. У Вас есть 7 чеков, по которым не было строк. Только заголовки. Покупатель набрал товаров - и отменил свой заказ на кассе. Сумма есть. Признак оплаты равен 0. Вы пишете первый запрос "по оплаченным чекам" и ставите условие "сумма оплаты > 0". И туда попадают эти отмененные 7 чеков. Вы пишете второй запрос "по неоплаченным" и ставите ДРУГОЕ условие "признак оплаты = 0". И туда тоже попадают эти отмененные 7 чеков. Вы пишете через inner join в таблицу заголовков использование строк чеков в ПЕРВОМ запросе - и там эти 7 чеков исчезают, а во втором запросе Вы inner join разумеется не используете, у отмененных чеков не бывает строк, поэтому там эти 7 чеков есть. И при union их становится 3390, а не 3397. Понятно? Следующий! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2019, 16:28 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=119&tid=1688480]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 307ms |

| 0 / 0 |
