【发布时间】:2018-04-03 11:28:08
【问题描述】:
我想从两个不相关的 SQL 表(由单独的 SQL 查询形成)中选择信息,给我一个包含四列的表:一个作为标识符,一个用于第一个表中的值,一个用于第二个表中的值,一个用于它们之间的计算。
一个简化的例子是:
已售出
Shop name | items sold
Shop A | 100
Shop B | 50
Shop C | 75
Shop D | 80
tbl返回
Shop name | Items returned
Shop A | 10
Shop B | 5
Shop C | 7
Shop D | 8
我正在尝试得到一个看起来像这样的表
Shop name | items sold | items returned | net (sold - returned)
Shop A | 100 | 10 | 90
Shop B | 50 | 5 | 45
Shop C | 75 | 7 | 68
Shop D | 80 | 8 | 72
在上述情况下,tblSold 来自如下查询:
SELECT global.shopname, COUNT(stock.sold)
FROM global
INNER JOIN stock ON global.id = stock.shop
GROUP BY shopname
而 tblReturned 来自如下查询:
SELECT global.shopname, COUNT(stock.returned)
FROM global
INNER JOIN stock ON global.id = stock.shop
WHERE stock.datereturned > 1.01.2010
GROUP BY shopname
从上一个问题SQL: Two select statements in one query 我得到以下查询:
(SELECT global.shopname, COUNT(stock.sold)
FROM global
INNER JOIN stock ON global.id = stock.shop
GROUP BY shopname)
UNION
(SELECT global.shopname, COUNT(stock.returned)
FROM global
INNER JOIN stock ON global.id = stock.shop
WHERE stock.datereturned > 1.01.2010
GROUP BY shopname)
这给了我一张只有两列的表格,而且无法进行计算。有没有办法以某种方式加入这些以使其发挥作用?
【问题讨论】:
-
请说明您使用的产品。
-
感谢您指出这一点 - 抱歉出现错误。这是 Postgres
标签: sql postgresql