1052: Column 'id' in field list is ambiguous

前端 未结 8 1964
面向向阳花
面向向阳花 2020-11-22 13:17

I have 2 tables. tbl_names and tbl_section which has both the id field in them. How do I go about selecting the id field,

8条回答
  •  情深已故
    2020-11-22 13:56

    SQL supports qualifying a column by prefixing the reference with either the full table name:

    SELECT tbl_names.id, tbl_section.id, name, section
      FROM tbl_names
      JOIN tbl_section ON tbl_section.id = tbl_names.id 
    

    ...or a table alias:

    SELECT n.id, s.id, n.name, s.section
      FROM tbl_names n
      JOIN tbl_section s ON s.id = n.id 
    

    The table alias is the recommended approach -- why type more than you have to?

    Why Do These Queries Look Different?

    Secondly, my answers use ANSI-92 JOIN syntax (yours is ANSI-89). While they perform the same, ANSI-89 syntax does not support OUTER joins (RIGHT, LEFT, FULL). ANSI-89 syntax should be considered deprecated, there are many on SO who will not vote for ANSI-89 syntax to reinforce that. For more information, see this question.

提交回复
热议问题