|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
Имеется следующий запрос: CREATE TABLE #t1 (client_id nvarchar(50), doc nvarchar(50),card_number nvarchar(50)); INSERT INTO #t1 VALUES ('A','123','1****1'), ('B','567','1****1'); CREATE TABLE #t2 (client_id nvarchar(50), doc nvarchar(50),card_number nvarchar(50)); INSERT INTO #t2 VALUES ('C','123','1****1'), ('D','567','1****1'); select count(distinct t2.client_id) from #t1 t1 join #t2 t2 on t1.card_number=t2.card_number and t1.doc<>t2.doc Подскажите, почему в результате я получаю 2, ведь вот этим фильтром and t1.doc<>t2.doc я не должен учитывать совпадающие в t1 и t2 doc? Заранее спасибо и буду благодарен, если объясните как это сделать правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:00 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
elay13 Подскажите, почему в результате я получаю 2, ведь вот этим фильтром and t1.doc<>t2.doc я не должен учитывать совпадающие в t1 и t2 doc? t1.card_number=t2.card_number означает связь всех записей, а t1.doc<>t2.doc означает, что С свяжется с А, а не с В ,а Д свяжется с В ,а не с А Итого обе записи из t2 выведутся, то есть в результате будет 2, а не 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:06 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
alexeyvg elay13 Подскажите, почему в результате я получаю 2, ведь вот этим фильтром and t1.doc<>t2.doc я не должен учитывать совпадающие в t1 и t2 doc? t1.card_number=t2.card_number означает связь всех записей, а t1.doc<>t2.doc означает, что С свяжется с А, а не с В ,а Д свяжется с В ,а не с А Итого обе записи из t2 выведутся, то есть в результате будет 2, а не 1 Подскажите, а как мне подсчитать только client_id из t2, у которых doc не будет не будет в t1. На выходе хочу получить 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:09 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
elay13, 1<>5 and 5<>1. Коммутативность. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:09 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
Владислав Колосов, не совсем Вас понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:11 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
elay13, каждая строка из таблицы слева сравнивается в каждой строкой из таблицы справа. Нарисуйте на бумажке все комбинации и выполните операцию сравнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:15 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
Владислав Колосов, а есть ли возможность подсчитать только client_id из t2, у которых doc не будет не будет в t1. На выходе хочу получить 0. Что-то в стиле not in. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:16 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
elay13 Подскажите, а как мне подсчитать только client_id из t2, у которых doc не будет не будет в t1. На выходе хочу получить 0. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:19 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
alexeyvg, Огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:24 |
|
Вопрос по фильтру фильтру в join
|
|||
---|---|---|---|
#18+
elay13 alexeyvg, Огромное спасибо! Два раза! два раза! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 16:25 |
|
|
start [/forum/topic.php?fid=46&fpage=22&tid=1684599]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 404ms |
0 / 0 |