我有3个顺序排定表MySQL的:选择数据从多个表
Orders1
:
OrderNumber, TransactionID, TrackingNumber
Orders2
:
OrderNumber, TransactionID, TrackingNumber
Orders3
:
OrderNumber, TransactionID, TrackingNumber
我的订单显示的总数不完整,所以我需要从哪里TrackingNumber = ''
我有3个顺序排定表MySQL的:选择数据从多个表
Orders1
:
OrderNumber, TransactionID, TrackingNumber
Orders2
:
OrderNumber, TransactionID, TrackingNumber
Orders3
:
OrderNumber, TransactionID, TrackingNumber
我的订单显示的总数不完整,所以我需要从哪里TrackingNumber = ''
您需要使用UNION
表中进行选择:
SELECT * FROM orders1 WHERE TrackingNumber = ''
UNION
SELECT * FROM orders2 WHERE TrackingNumber = ''
UNION
SELECT * FROM orders3 WHERE TrackingNumber = ''
下面是一个使用子查询的方法。
SELECT
(SELECT COUNT(*) FROM Orders1 WHERE TrackingNumber='')
+ (SELECT COUNT(*) FROM Orders2 WHERE TrackingNumber='')
+ (SELECT COUNT(*) FROM Orders3 WHERE TrackingNumber='')
AS `total`
FROM DUAL;
告诉我,如果它按预期工作:)
值得一说的是,你应该指数TrackingNumber
领域。
试试这个:
select
sum(a.subtotal)
from
(select count(*) as subtotal from Orders1 where TrackingNumber=''
union all
select count(*) as subtotal from Orders2 where TrackingNumber=''
union all
select count(*) as subtotal from Orders3 where TrackingNumber=''
) a
你可以使用MySQL连接 – 2014-11-03 15:36:49
究竟如何是与这些表?例如,是否可以通过相同的OrderNumber标识Orders1和Orders2行? – 2014-11-03 15:42:59
他们没有任何共同的结构。我们有来自3个不同来源的订单,并存储在不同的地方。一个是eBay,另一个就是亚马逊。订单号码对表格是唯一的。 – user4210292 2014-11-03 15:46:58