我在mysql中有两个select
语句。
对于两个union
语句,我需要where
两个带有select
子句的mysql查询。
有什么想法吗?
EX:
(SELECT leases.id,leases.commencement as term, leases.commencement as start_date, leases.execution as execution
FROM `leases` leases.commencement > CURDATE())a
UNION ALL
(SELECT leases.id, leases.commencement as term, leases.commencement as start_date, leases.execution as execution
FROM `leases` leases.commencement BETWEEN '2014/01/01' and CURDATE()) b
where a.commencement=b.commencement
答案 0 :(得分:1)
我认为你不想做UNION
。相反,你试图在两个派生表之间进行JOIN
,如下所示
SELECT a.*,b.*
FROM
(
SELECT leases.id,
leases.commencement as term,
leases.commencement as start_date,
leases.execution as execution
FROM leases
WHERE leases.commencement > CURDATE()
) a
JOIN
(
SELECT leases.id as ID1,
leases.commencement as term1,
leases.commencement as start_date1,
leases.execution as execution1
FROM leases
WHERE leases.commencement
BETWEEN '2014/01/01' and CURDATE()
)b ON a.commencement=b.commencement