////编辑MySQL的UNION,为了通过日期时间从2个表
的人谁可以用长而复杂的MySQL的请求strugeling,请尝试在phpMyAdmin!它会告诉你错误!
////编辑
每个表(表1 &表2)有自己的时间字段。
我试图捕捉两个表的id,并按他们的DATETIME字段排序。
例子:
Table 1 Table 2
------------ -------------
id | datetime1 id | table1id | datetime2
------------------------ -----------------------
1 | 2014-09-21 20:31:26 1 | 2 | 2014-09-21 20:31:29
2 | 2014-09-21 20:31:27 2 | 3 | 2014-09-21 20:31:30
3 | 2014-09-21 20:31:28
Table 3
------------
id | user
------------------------
2 | phil
3 | nathalie
我的输出是不是跟这个尝试正确下令:
SELECT *
FROM (
SELECT
1 AS selection,
table1.id, table1.datetime1,
table2.datetime2
table3.user
FROM Table1
LEFT OUTER JOIN table2
ON table1.id = table2.table1id
LEFT OUTER JOIN table3
ON table1.id = table3.id
UNION ALL
SELECT
2 AS selection,
table1.id, table1.datetime1,
table2.datetime2
table3.user
FROM Table1
INNER JOIN table2
ON table1.id = table2.table1id
INNER JOIN table3
ON table1.id = table3.id
) AS query
ORDER BY table1.datetime1 DESC, table2.datetime2 DESC
所需数据:
从表2编号:2,1,从表1中
id:3,2,1
So:2,1,3,2,1
编辑的目的是什么?在编辑完成之后,它已经被封闭,作为你之前的问题的一个谜题?如果您想更新问题,请编辑原始问题而不是重新发布。 – 2014-09-23 16:31:14