【问题标题】:Why does the number of rows increase in a SELECT statement with INNER JOIN when a second column is selected?Why does the number of rows increase in a SELECT statement with INNER JOIN when a second column is selected?
【发布时间】:2011-05-26 13:19:51
【问题描述】:

我正在 SQL Server 中编写一些带有自联接的查询。当我在 SELECT 子句中只有一列时,查询会返回一定数量的行。当我从表的第二个实例向 SELECT 子句添加另一列时,结果增加了 1000 行!

这怎么可能?

谢谢。

编辑:

我在FROM子句中有一个子查询,也是同一张表的自连接。

【问题讨论】:

  • 能否包含 SQL 语句,或者至少是一个示例?
  • 同意:没有示例代码无法回答。
  • 如果没有看到查询,这有点难以分辨,但根据您的症状,听起来您有一个 group by 子句,并且无法完全理解后者的工作原理。
  • 谢谢大家。由于机密性,我无法粘贴实际查询。我将不得不举一个类似的例子。
  • 好的,我期待着。同时,别担心,SQL 没有损坏 :)

标签: sql select self-join


【解决方案1】:

这怎么可能?

我唯一能想到的是您有SELECT DISTINCT,并且附加列使一些结果在附加列之前变得与众不同。

例如,我希望第二个结果有更多行

SELECT DISTINCT First_name From Table

SELECT DISTINCT First_name, Last_name From Table

但如果我们有实际的 SQL,那么可能会想到别的东西

【讨论】:

    猜你喜欢
    • 2022-12-26
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 2022-12-01
    • 2022-12-27
    • 1970-01-01
    相关资源
    最近更新 更多