【发布时间】:2023-03-20 18:50:02
【问题描述】:
我想做的是:
我有一个 TableA 包含所有记录。
account | name | items | amount
0017532 A 3 1500
0034524 B 5 700
7772618 C 7 300
5467382 D 2 450
7772618 C 6 2200
另一个 TableB 包含:
account | name | items | amount
0034524 B 2 200
5467382 D 1 50
6483232 E 1 25
想要的查询结果是:
account | name | items | amount
0017532 A 3 1500
0034524 B 3 500
7772618 C 7 300
5467382 D 1 400
6483232 E 1 25
7772618 C 6 2200
如果TableB中有记录那么 TableA.item - TableB.item 和 TableB.amount - TableB.amount
结果应包含表A中的所有记录以及上述减法的结果。
我加入TableA和TableB并执行减法运算,但结果仅返回与TableB中记录数匹配的记录
account | name | items | amount
0034524 B 3 500
5467382 D 1 400
6483232 E 1 25
当我尝试使用查询 TableA 进行上述 UNION 减法查询时,结果发现两个表的记录都列出了:
account | name | items | amount
0017532 A 3 1500
0034524 B 5 700
0034524 B 3 500
7772618 C 7 300
5467382 D 2 450
5467382 D 1 400
7772618 C 6 2200
6483232 E 1 25
如果 TableA 中存在“帐户”和“名称”,我正在尝试找到一种仅从 TableB 中选择记录的方法。
【问题讨论】:
-
你能把你写的查询也贴出来吗?
-
您使用的是哪个DBMS product? “SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag
postgresql,oracle,sql-server,db2, ...
标签: sql