|
Как лучше?
|
|||
---|---|---|---|
#18+
Abrazivнеправильно написал, надо SELECT * FROM table1, table2 WHERE table1.a = table2.a AND (table2.a <> NULL) ... Ну и что? Код: sql 1.
- это то же самое, что и Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:47 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Мимопроходящий13.07.2017 14:19, Abraziv пишет: > Если ли возможность в SQL interbase выполнять сравнение полей в WHERE если поля не нулевые (IS NOT NULL???) без AND ??? если хотя бы одно из полей (или оба сразу) NULL, то результат сравнения будет FALSE Мне уже кажется, что "они сами не знают, что они хочут"... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:48 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
13.07.2017 14:48, чччД пишет: > Мне уже кажется, что "они сами не знают, что они хочут"... +1 или не могут изъяснить свои желанья Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:50 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
согласен!!! но, нужно несколько условий SELECT * FROM table1, table2 WHERE (table1.a = table2.a AND (table2.a <> NULL)) OR (table1.b = table2.b AND (table2.b <> NULL)) OR (table1.c = table2.c AND (table2.c <> NULL)) и нужно понимать, что table1.a table1.b table1.c также может быть NULL, а NULL = NULL равно TRUE ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:50 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Abrazivи нужно понимать это.... SELECT * FROM table1, table2 WHERE (table1.a = table2.a) это неявный join, которому соответствует inner join, поэтому в результат не попадают ни table1.a is null, ни table2.a is null. Abraziv а NULL = NULL равно TRUE ШТО? :-) null <> null, по определению. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:53 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
13.07.2017 14:50, Abraziv пишет: > и нужно понимать, что table1.a table1.b table1.c также может быть NULL, > а NULL = NULL равно TRUE а в ухо?! (С) сравнение NULL-а с чем угодно, в том числе с другим NULL-ом всегда даёт FALSE Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:53 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
для разных случаев есть разные операторы. "=" "!=" "is not distinct from" "is distinct from" разные и дают разный результат на выходе при одинаковых входных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:59 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, нету в IB is [not] distinct from, поэтому автору придётся кушать кактус ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 15:01 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
да, еще можно применить coalesce(table1.b, -1) "-1" выбрано из предположения, что соединение идет по положительным значениям и отрицательных нет по административным соображениям. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 15:02 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Симонов Денисавтору придётся кушать кактусну да, ну да... из некоторых кактусов, говорят, неплохая самогонка выходит. а коалески тоже нэма? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 15:04 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, вроде появилась ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 15:07 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Abraziv, Инструменты найдутся всегда. Главное - понять, что же тебе надо. Поскольку пока что все твои примеры ничего не объясняют. Если table1.a = table2.a, то в каком случае запись не должна попадать в выборку? По NULL'ам она и так не соединится, ничего тут дополнительно сравнивать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 15:27 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Есть две таблицы. Нужно сравнить есть ли совпадения записей с указанными полями в этих таблицах, если есть, то сделать пометку в поле таблицы 1 значением из поля таблицы 2. В результате сравнения в таблице 1 может быть найдено несколько совпадений для одной записи из таблицы 2. Моё решение: хранимая процедура с двумя FOR. Что тут не понятно? Я же 300 раз писал уже. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 10:48 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Abraziv, Тебя совсем о другом спрашивали. Входное условие, что отношение по записям Т1:Т2 как N:1, ты только сейчас ввёл, и утверждаешь, что это очевидно. Даже продолжать не хочу, решил так решил. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:05 |
|
Как лучше?
|
|||
---|---|---|---|
#18+
Есть ли более лучшее решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 11:09 |
|
|
start [/forum/topic.php?fid=40&gotonew=1&tid=1561493]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
9ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 542ms |
0 / 0 |