select 具有零个子元素的行(连接)
select rows with zero child elements (join)
我有 2 张桌子。这两个表之间存在约束。
Table1 : Table2 = 1 : n
我想 select Table1
元素的键,在 Table2
中没有条目。
示例:
| Table 1 |
|Key |Col1 |Col2 |...|
|0001|.... |.... |...|
|0002|.... |.... |...|
|0003|.... |.... |...|
|0004|.... |.... |...|
| Table 2 |
|Tab1|Col1 |Col2 |...|
|0001|.... |.... |...|
|0001|.... |.... |...|
|0003|.... |.... |...|
|0002|.... |.... |...|
Desired output:
0004
输出是 table1
的唯一条目,它在 table2
中没有子条目。
我尝试过很多不同的选择,例如:
SELECT
Key
FROM Table1
WHERE
( SELECT COUNT(*) FROM Table2
WHERE Table1~Key = Table2~Tab1
GROUP BY Table2~Tab1 )
SELECT COUNT(Table2)
Key
FROM Table1
INNER JOIN Table2
ON Table1~Key = Table2~Tab1.
...
但其中 none 有效。
有没有人得到 ABAP 的有效查询?
select * from table1 where key not in (select tab1 from table2)
试试这个查询
select key from table1 where not EXISTS (SELECT *
FROM table2
WHERE table1.key=table2.tab1);
尝试关注,
SELECT Key FROM Table1
WHERE key not in (SELECT distinct tab1 FROM Table2)
没有子选择的解决方案:
SELECT t1~Key FROM Table1 as t1
LEFT JOIN Table2 as t2
WHERE t2~Key is null
我有 2 张桌子。这两个表之间存在约束。
Table1 : Table2 = 1 : n
我想 select Table1
元素的键,在 Table2
中没有条目。
示例:
| Table 1 |
|Key |Col1 |Col2 |...|
|0001|.... |.... |...|
|0002|.... |.... |...|
|0003|.... |.... |...|
|0004|.... |.... |...|
| Table 2 |
|Tab1|Col1 |Col2 |...|
|0001|.... |.... |...|
|0001|.... |.... |...|
|0003|.... |.... |...|
|0002|.... |.... |...|
Desired output:
0004
输出是 table1
的唯一条目,它在 table2
中没有子条目。
我尝试过很多不同的选择,例如:
SELECT
Key
FROM Table1
WHERE
( SELECT COUNT(*) FROM Table2
WHERE Table1~Key = Table2~Tab1
GROUP BY Table2~Tab1 )
SELECT COUNT(Table2)
Key
FROM Table1
INNER JOIN Table2
ON Table1~Key = Table2~Tab1.
...
但其中 none 有效。 有没有人得到 ABAP 的有效查询?
select * from table1 where key not in (select tab1 from table2)
试试这个查询
select key from table1 where not EXISTS (SELECT *
FROM table2
WHERE table1.key=table2.tab1);
尝试关注,
SELECT Key FROM Table1
WHERE key not in (SELECT distinct tab1 FROM Table2)
没有子选择的解决方案:
SELECT t1~Key FROM Table1 as t1
LEFT JOIN Table2 as t2
WHERE t2~Key is null