我有我下面的SQL查询:将常规选择语句转换为相关子查询?
SELECT name, transaction_id, MIN(transaction_date)
FROM clients
JOIN transactions ON clients.client_id = transactions.client_id
GROUP BY name, transaction_id;
,我想变成一个相关子查询结构如下:
SELECT a, b, MIN(c)
FROM t1
JOIN t2 ON t1.d = t2.d
WHERE c IN
(SELECT *
FROM t2
HAVING....)
凡a, b, c
是列名和t1, t2
是表。
但我在这个过程中遇到困难。
作为参考,原始问题是要求返回每个客户的最早的transaction_date以及相应的transaction_id。
所以,如果transactions
表有以下几点:
transaction_id client_id transaction_date
1 1 02-02-17
2 1 02-01-17
3 2 02-03-17
4 2 02-04-17
相关子查询将返回:
name transaction_id transaction_date
John 2 02-01-17
Mary 3 02-03-17
为什么你想把它变成一个相关的子查询? –
这是原始问题的一部分要求。我想出了在常规select语句中如何做到这一点,我只是有问题把它变成相关子查询。 – 5120bee