gpt4 book ai didi

sql - 选择具有3个内部联接的DISTINCT值

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

我有一些表需要链接在一起以获得特定值,这是我当前的查询

SELECT DISTINCT bu.Email,iv.Code,ex.ExNumber 
FROM Invoices AS iv
INNER JOIN Clients AS cs
ON iv.Code = cs.Code
INNER JOIN BusinessUser_ExNumbers AS ex
ON cs.ExNumber = ex.ExNumber
INNER JOIN BusinessUsers AS bu
ON ex.Userid = bu.Id
WHERE iv.BatchId = '74b43669-c80f-4b44-999c-a1dfe5695844' // Test value

基本上,到我的发票的链接保存在发票表中,而我需要做的是将链接发送给指定为发票收件人的用户。该代码可以工作,但是没有我想要的“独特”。我不希望任何行具有与其他任何行相同的电子邮件和号码。不幸的是,如果有超过1条iv.Code最终链接到特定用户,我将获得多行。我知道为什么会这样,但我想不出一种办法来避免这种情况的发生。

谢谢!

编辑:对不起,我真的很傻。我不需要选择iv.Code,这就是导致问题的原因。这可能就是为什么它没有太大意义的原因。无论如何,自从我发布问题以来,我已经在下面尝试了马丁·史密斯(Martin Smiths)的答案,并且它起作用了,所以这就是问题的答案。如果不需要iv.Code,可以将其删除。

最佳答案

如果特定MAX组合有多个,则下面的代码将返回Email, Number代码。

SELECT bu.Email,
MAX(iv.Code) AS Code,
ex.ExNumber
FROM Invoices AS iv
INNER JOIN Clients AS cs
ON iv.Code = cs.Code
INNER JOIN BusinessUser_ExNumbers AS ex
ON cs.ExNumber = ex.ExNumber
INNER JOIN BusinessUsers AS bu
ON ex.Userid = bu.Id
WHERE iv.BatchId = '74b43669-c80f-4b44-999c-a1dfe5695844'
GROUP BY bu.Email,
ex.ExNumber

关于sql - 选择具有3个内部联接的DISTINCT值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6892885/

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