仅当存在b.qty时选择a.qty-b.qty列,否则返回a.qty

时间:2019-06-15 10:36:48

标签: sqlite

i有两个表,其中第一个具有两个列(a,b),第二个具有(c,d)。 我希望select语句给出a-c其中b = d;效果很好,但是如果相应的b = d不存在,我需要a-c的值给出,我希望我已经能够解释

table 1:
(a,b)
(10,1)
(10,2)
(10,3)

table 2: (c,d)
(5,1)
(5,2)

因此,从b = d返回的表中选择(a-c),b

(a-c,b)
(5,1)
(5,2)

我想要的地方

(a-c,b)
(5,1)
(5,2)
(10,3)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用:

SELECT t1.a-COALESCE(t2.c,0), t1.b
FROM t1
LEFT JOIN t2
  ON t1.b = t2.d