【问题标题】:Need help writing a query using SQL EXCEPT使用 SQL EXCEPT 编写查询需要帮助
【发布时间】:2017-10-31 21:19:32
【问题描述】:

我正在编写一个查询,将显示哪些慈善机构尚未捐赠。到目前为止,这是我的脚本:

SELECT c.Name
FROM CHARITY c INNER JOIN
     DONATION d
     ON c.CharityID = d.DonationID
EXCEPT
select C.CharityID, donationID
from charity c join
     DONATION d
     on c.CharityID = d.DonationID
ORDER BY d.DonationID asc

我的输出应该说明:

name                        DonationID
------                       ------
St. Francis Home             NULL
Salvation Army               Null
.....
.....

但我得到了:

“消息 205,第 16 级,状态 1,第 1 行 使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询必须在其目标列表中具有相同数量的表达式。"

【问题讨论】:

  • 邮件的哪一部分你不明白?错误很明显。

标签: mysql sql


【解决方案1】:

left joinwhere 怎么样:

SELECT c.Name
FROM CHARITY c LEFT JOIN
     DONATION d
     ON c.CharityID = d.DonationID
WHERE d.DonationID IS NULL;

我还要指出,将“CharityID”连接到“DonationID”的连接看起来非常可疑。

【讨论】:

  • 有些慈善机构有 ID 我打算在我的问题 IE 中说明它:“Helping Hands 1000”,它一直到
猜你喜欢
  • 2011-03-14
  • 2019-10-11
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多