0

私は2つのテーブルを持っています。

1.Message - Sender_Number,SMS,DateTime.
2.Replies - Receiver_Number,SMS,DateTime.

すべての列を結合し、2つのDateTime列を1つの列にマージして、時間順に並べたいと思います。

例えば:

Messages Table:
123 | Hello there. | 2012-10-22 3:50
121 | HI I like U..| 2012-10-22 9:10

Replies Table:
123 | how are u... | 2012-10-22 5:50
121 | HI I like U2 | 2012-10-22 9:30

DESIRED OUTPUT (In 1 table):
123 | Hello there. | 2012-10-22 3:50 
123 | how are u... | 2012-10-22 5:50 
121 | HI I like U..| 2012-10-22 9:10 
121 | HI I like U2 | 2012-10-22 9:30 
4

2 に答える 2

2
SELECT *
FROM
(
    SELECT col1, col2, col3 FROM messages
    UNION ALL
    SELECT col1, col2, col3 FROM replies
) x
ORDER BY col3

SQLFiddleデモ

于 2012-10-23T14:39:44.647 に答える
0

UNIONが必要です

こんな感じになります

SELECT * FROM (
SELECT Sender_Number,SMS,DateTime FROM Messages
UNION 
SELECT Receiver_Number,SMS,DateTime FROM Replies
)
ORDER BY DateTime

DateTimeまた、列はのデータ型であるため、列を呼び出さないことにしMySQLます。問題を引き起こす可能性があります

于 2012-10-23T14:41:58.333 に答える