Знаете ли вы, как отображать только строки в таблице для того же идентификатора, где col3 не 'X'?
Таблица 1:
ID | col1 | col2 |
---+-----+-----+
1 | 0 | 0 |
1 | D | C |
1 | D | C |
2 | 0 | 0 |
2 | D | C |
2 | D | C |
3 | D | C |
3 | D | C |
3 | D | C |
Таблица 2:
ID | col1 | col2 | col3
---+------+------+-----
1 | 0 | 0 | X
1 | D | C | null
1 | D | C | null
2 | 0 | 0 | null
2 | D | C | null
2 | D | C | null
например, из двух таблиц выше, он должен отображаться как результат:
ID | col1 | col2 |
---+------+------+
2 | 0 | 0 |
2 | D | C |
2 | D | C |
3 | D | C |
3 | D | C |
3 | D | C |
ID 2 (так как все col3 равны нулю) и ID 3 (потому что он в таблице 1, но не в таблице 2, поэтому он как нулевой или как будто у него нет col3 = X)
Он должен работать для всех идентификаторов с несколькими строками по идентификатору и только с одним и тем же идентификатором, когда все строки имеют нулевое значение или отсутствуют в таблице 2, но только в таблице 1.
вот что я попробовал:
select
T.id, T2.col1, T2.col2
from table1 T
inner JOIN table2 T2 on T.ID=T2.ID
where Cond1
and T.ID NOT IN
(SELECT T2.ID FROM table2 T2
WHERE T.ID=T2.ID
AND T2.COL3='X') it displays only half of what i want : ID | col1 | col2 |
---+------+------+
2 | 0 | 0 |
2 | D | C |
2 | D | C |
Мне нужно иметь также плюс ID = 2, ID = 3 тоже:
3 | D | C |
3 | D | C |
3 | D | C |
спасибо