将两个顺序 SQL 查询合并为单个 SQL 查询以获取 max 和 join
Merge two sequential SQL query into a single SQL query for max and join
我有两个 SQL 顺序执行的查询。
-
select max(last_updated_date) as recent_date
from TRANSACTION where quality='P' and TYPE='Car'
-
select * from CAR
JOIN
(
select TRAN_ID,LAST_UPDATED_DATE from TRANSACTION
) on TRANSACTION.TRAN_ID=CAR.ID and TRANSACTION.LAST_UPDATED_DATE=recent_date
我想通过单个查询获得相同的结果。
我什么都想不出来。
使用可以使用标量子查询
select *
from CAR
JOIN
(
select TRAN_ID,LAST_UPDATED_DATE
from TRANSACTION
) t on t.TRAN_ID=CAR.ID and t.LAST_UPDATED_DATE=(select max(last_updated_date)
from TRANSACTION
where quality='P' and TYPE='Car')
我有两个 SQL 顺序执行的查询。
-
select max(last_updated_date) as recent_date from TRANSACTION where quality='P' and TYPE='Car'
-
select * from CAR JOIN ( select TRAN_ID,LAST_UPDATED_DATE from TRANSACTION ) on TRANSACTION.TRAN_ID=CAR.ID and TRANSACTION.LAST_UPDATED_DATE=recent_date
我想通过单个查询获得相同的结果。 我什么都想不出来。
使用可以使用标量子查询
select *
from CAR
JOIN
(
select TRAN_ID,LAST_UPDATED_DATE
from TRANSACTION
) t on t.TRAN_ID=CAR.ID and t.LAST_UPDATED_DATE=(select max(last_updated_date)
from TRANSACTION
where quality='P' and TYPE='Car')