2014-03-06 35 views
2

我有以下MySQL查询:添加temp栏

(
SELECT act_id, act_date, act_score 
FROM actsWithScore 
WHERE user_id = '1' 
) 
UNION ALL (

SELECT act_id, vote_date, vote_score 
FROM votes 
WHERE user_voter = '1' 
) 
ORDER BY `act_date` 

这个伟大的工程和类似以下的输出:

act_id  act_date    act_score 
31   2014-03-06 07:08:12  NULL 
30   2014-03-06 07:07:51  NULL 
23   2014-03-06 06:52:54  1 
21   2014-03-06 06:52:48  -1 
12   2014-03-06 06:52:46  1 
25   2014-03-06 06:52:42 -1 

我想要做什么被标识在输出哪一行是一种行为(从SELECT ... FROM actsWithScore查询),并且该行是一票(从SELECT ... FROM votes查询)像这样:

act_id  act_date    act_score decription 
31   2014-03-06 07:08:12  NULL   act 
30   2014-03-06 07:07:51  NULL   act 
23   2014-03-06 06:52:54  1   vote 
21   2014-03-06 06:52:48  -1   act 
12   2014-03-06 06:52:46  1   vote 
25   2014-03-06 06:52:42 -1   vote 

这是可能的,如果是这样,怎么样?谢谢:)

回答

2
(
SELECT act_id, act_date, act_score, 'act' as description 
FROM actsWithScore 
WHERE user_id = '1' 
) 
UNION ALL 
(

SELECT act_id, vote_date, vote_score, 'votes' as description 
FROM votes 
WHERE user_voter = '1' 
) 
ORDER BY `act_date` 
+0

蜂鸣器很快!感谢您的快速响应! – Wildcard27

2

只要做到这样

(
SELECT act_id, act_date, act_score, 'Act' As description 
FROM actsWithScore 
WHERE user_id = '1' 
) 
UNION ALL (

SELECT act_id, vote_date, vote_score, 'Vote' As description 

FROM votes 
WHERE user_voter = '1' 
) 
ORDER BY `act_date` 
+0

你都点上,谢谢各位!对不起,但我得把答案设置为第一个正确答案,当有两个相同的答案时,Deepak只是把它放了 – Wildcard27

+0

老兄,我第一个;) –