0
考慮我有以下兩個表(草圖):MySQL的順序按時間在兩個不同的表
表1:
- t1Id(智力,主鍵)
- 時間(日期時間)
- ATTRIBUTE1
- attribute2
- attribute3
表2:
- T2ID(智力,主鍵)
- 時間(日期時間)
- attribute4
- attribute5
假設我要選擇兩個表中的結果並按time
排序,這是可行的嗎?我自己認爲這是可能的,如果:
- 您可以創建一個聯合與兩個表的所有列,但
time
共享通過聯合。 NULL
這是不匹配的地方的值。例如,該聯合中的表1的一行在t2Id,attribute4和attribute5中將具有NULL
。- 一個額外的列表明原始行(沒有
NULL
值的行)源自哪個表。
我該如何以最有效的方式設計這樣的查詢?
我會這樣做,就像你提到:UNION與ORDER BY時間。額外的列取決於你。如果你想讓某件事從它的來源中知道。 –
'UNION' +'ORDER BY'有什麼問題?如果你想把你的結果作爲一個集合,你應該做到這一點。至於'NULL'-s:澄清他們的錯誤:對於union,所有的表必須有相同的列數 –