【问题标题】:Select Distinct Field on Join在加入时选择不同的字段
【发布时间】:2011-06-11 10:20:32
【问题描述】:

我基于它们共享的唯一标识符加入 MySQL 中的两个大表。因为字段很多,我不想在SELECT之后列出所有字段。相反,我想选择所有字段,但我不希望重复出现的字段(在本例中为共享唯一标识符)。

使用此示例查询:

SELECT *
FROM Gr3_PracMath_Jan11_D1 as a, student_list_011811 as b 
WHERE a.StudentID = b.StudentID

字段 StudentID 重复。有没有办法防止这种情况发生?

【问题讨论】:

    标签: mysql join select where-clause


    【解决方案1】:

    我认为没有。您可能会通过仅列出一半字段来减少工作:

    SELECT a.*, b.Field1, b.Field2...
    

    【讨论】:

      【解决方案2】:

      我相信,如果您使用 USING 关键字进行显式连接,您将不会得到重复。

      SELECT *
      FROM Gr3_PracMath_Jan11_D1
      LEFT JOIN student_list_011811 
      USING (StudentID)
      

      【讨论】:

        【解决方案3】:

        即使有很多列,也不列出所有列是不好的做法。硬着头皮把它们写出来。

        【讨论】:

          猜你喜欢
          • 2019-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-26
          • 2017-03-16
          • 2019-10-15
          • 1970-01-01
          相关资源
          最近更新 更多