2015-09-23 27 views
-1

考虑以下2个表:获取数据

Product1 
---------- 
id 
created 

Product2 
--------- 
id 
created 

如何我可以从Product1Product2所有产品均通过created有序?

注:Product1Product2表只是举例说明我的情况,它们并不反映现实。请不要争论这件事。

回答

2

You can Combining Result Sets by Using MySQL UNION

SQLFiddle

SELECT * FROM (select p1.id, p1.created from product1 p1 
UNION ALL 
select p2.id, p2.created from product2 p2) A 
order by created 

OR

(select p1.id, p1.created from product1 p1) 
UNION ALL (select p2.id, p2.created from product2 p2) 
ORDER BY created 
+0

结果应该按照OP声明。 –

+1

@ElonThan使用Order By子句修改答案。 –

1

假设这两个表具有相同的结构,你可以试试这个

SELECT 
    'Product1' AS FromTable 
    ,id 
    ,created 
FROM 
    Product1 
UNION 
SELECT 
    'Product2' AS FromTable 
    ,id 
    ,created 
FROM 
    Product2 
ORDER BY created 
+0

如果表是互斥的,然后使用UNION ALL,因为它是速度更快。 – HLGEM

+3

结果应按照OP的说明进行订购。 –

+1

是的,但我不能使用orderby – billyJoe