我想用iapn选择所有dealercode
(不同)和introducercode
。 Bbut iapn必须是最高价值。
e.g。
dealercode = 7 and iapin = 3 and introducercode = 3
像那样(这只是经销商的唯一价值)
这是我的疑问:
SELECT DISTINCT
dealercode, iapin as iapin,
(SELECT introducercode) as introducecode
FROM
dealerplacement d
where
exists (SELECT MIN(iapin) FROM dealerplacement )
ORDER BY
dealercode, iapin ASC
我已将此帖子数据集附加到此代码中。
这是结构。我想得到如下结果。 DEALERCODE 1200 iapn 003和介绍人203.仅。
当前数据库如下。
1200 001 201
1200 002 202
1200 003 203
请帮我解决这个问题。
答案 0 :(得分:4)
为什么不使用MAX
和GROUP BY
或者还有其他我缺少的东西
SELECT dealercode,
introducercode,
MAX(iapin) iapin
FROM dealerplacement d
GROUP BY dealercode,
introducercode
Aggregate Functions (Transact-SQL)
修改强>
重新对您的请求进行更改,您可能需要尝试类似
的内容SELECT d.*
FROM dealerplacement d INNER JOIN
(
SELECT dealercode,
MAX(iapin) iapin
FROM dealerplacement d
GROUP BY dealercode
) dM ON d.dealercode = dM.dealercode
AND d.iapin = dM.iapin
答案 1 :(得分:1)
根据您的示例结果,您似乎想要MINIMUM iapin。要获得正确的相应introducecode
,您需要使用子选择:
SELECT a.dealercode, a.iapin, a.introducecode
FROM dealerplacement a
INNER JOIN
(
SELECT dealercode, MIN(iapin) AS miniapin
FROM dealerplacement
GROUP BY dealercode
) b ON a.dealercode = b.dealercode AND a.iapin = b.miniapin