【发布时间】:2015-09-23 22:45:06
【问题描述】:
考虑这两个表:
Product1
----------
id
created
Product2
---------
id
created
如何从Product1 和Product2 获取由created 订购的所有产品?
注意:Product1 和 Product2 表格只是解释我的案例的例子,它们并不反映现实。请不要为此争论。
【问题讨论】:
考虑这两个表:
Product1
----------
id
created
Product2
---------
id
created
如何从Product1 和Product2 获取由created 订购的所有产品?
注意:Product1 和 Product2 表格只是解释我的案例的例子,它们并不反映现实。请不要为此争论。
【问题讨论】:
You can Combining Result Sets by Using MySQL UNION
SELECT * FROM (select p1.id, p1.created from product1 p1
UNION ALL
select p2.id, p2.created from product2 p2) A
order by created
或
(select p1.id, p1.created from product1 p1)
UNION ALL (select p2.id, p2.created from product2 p2)
ORDER BY created
【讨论】:
假设两个表的结构相同,你可以试试这个
SELECT
'Product1' AS FromTable
,id
,created
FROM
Product1
UNION
SELECT
'Product2' AS FromTable
,id
,created
FROM
Product2
ORDER BY created
【讨论】:
使用交叉连接(也称为笛卡尔连接)
select product1.*, product2.* from product1 cross join product2; 请注意,交叉连接的作用会使记录倍增。这是mysql cross join, but without duplicated pair?的答案
【讨论】: