gpt4 book ai didi

inner-join - 使用带有多部分标识符和 Having 子句的内部连接进行选择

转载 作者:行者123 更新时间:2023-12-02 02:05:34 26 4
gpt4 key购买 nike

我需要为具有重复项的多部分标识符选择某些字段。

我有查询以正确获取重复项。

SELECT   b.MemEmpID, b.LastName, b.FirstName
FROM table1 As b
GROUP BY b.MemEmpID, b.LastName, b.FirstName
HAVING Count(*) > 1

但是在找到重复项之后,我需要从同一个表中获取更多信息,但仅限于具有重复项的多部分标识符。所以像下面这样的东西。

有人可以帮我解决这个问题的正确语法吗?

SELECT a.memempid, a.depkey, a.lastname, a.firstname, a.birthdate, a.memrelation
FROM table1 As a
INNER JOIN(SELECT b.MemEmpID, b.LastName, b.FirstName
FROM table1 As b
GROUP BY b.MemEmpID, b.LastName, b.FirstName
HAVING Count(*) > 1)
ON b.memempid = a.memempid
AND b.lastname = a.lastname
AND b.firstname = a.firstname

最佳答案

你们真的很亲密。您需要为子查询设置别名。

table1 As b 失去了分组 () 的作用域,因此您需要为带括号的子查询设置别名。您可以重用 b - 它只会知道返回的列,但为了清楚起见,我选择 (...) 作为 c 来消除歧义。

SELECT a.memempid, a.depkey, a.lastname, a.firstname, a.birthdate, a.memrelation
FROM table1 As a
INNER JOIN
(SELECT b.MemEmpID, b.LastName, b.FirstName
FROM table1 As b
GROUP BY b.MemEmpID, b.LastName, b.FirstName
HAVING Count(*) > 1
) as c
ON c.memempid = a.memempid
AND c.lastname = a.lastname
AND c.firstname = a.firstname

关于inner-join - 使用带有多部分标识符和 Having 子句的内部连接进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15225969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com