0

我有 2 个查询

Select * From wp_booking_transaction
Where DATE(launched) >= "2013-10-10" And DATE(launched) <= "2013-11-10" 
And action = 1 status = 1 And type = 2 And student_id = 81569 
Order by launched desc

Select * From wp_booking_transaction 
Where (DATE(launched) >= "2013-10-10" And DATE(launched) <= "2013-11-10" 
And status = 0 And type = 2 And student_id = 81569) And (action = 21 Or action = 20) 
Order by launched desc

要求:

获取具有action = 1but的行和具有butstatus = 1的行。(action = 20 or action = 21)status = 0

谢谢!

4

3 回答 3

2

尝试使用UNION

Select 
    * 
From 
    wp_booking_transaction 
Where 
    DATE(launched) >= "2013-10-10" 
    And DATE(launched) <= "2013-11-10" 
    And action = 1 
    And status = 1 
    And type = 2 
    And student_id = 81569 

UNION ALL

Select 
    * 
From 
    wp_booking_transaction 
Where (
        DATE(launched) >= "2013-10-10" 
        And DATE(launched) <= "2013-11-10" 
        And status = 0 
        And type = 2 
        And student_id = 81569
    ) 
    And (
        action = 21 
        Or action = 20
    ) 
Order by launched desc

顺便说一句

And (
        action = 21 
        Or action = 20
    ) 

可以写成

And action IN (21,20)
于 2013-10-10T07:44:51.843 回答
1
SELECT   *
FROM     wp_booking_transaction
WHERE    /* Conditions that appeared in both original queries */
         DATE(launched) >= "2013-10-10" 
AND      DATE(launched) <= "2013-11-10"
AND      type = 2 
AND      student_id = 81569
AND      /* Conditions that are different between the two queries */
         ((action = 1 AND status = 1) OR (action IN(20, 21) AND status = 0))
ORDER BY launched DESC
于 2013-10-10T07:48:07.003 回答
0

你可以使用union all | 两个查询之间不同

Select * From wp_booking_transaction
Where DATE(launched) >= "2013-10-10" And DATE(launched) <= "2013-11-10" 
And action = 1 status = 1 And type = 2 And student_id = 81569 
union all
Select * From wp_booking_transaction 
Where (DATE(launched) >= "2013-10-10" And DATE(launched) <= "2013-11-10" 
And status = 0 And type = 2 And student_id = 81569) And (action = 21 Or action = 20) 
Order by launched desc
于 2013-10-10T07:47:09.247 回答