sql >> Databáze >  >> RDS >> Mysql

1052:Sloupec 'id' v seznamu polí je nejednoznačný

SQL podporuje kvalifikaci sloupce uvedením předpony odkazu buď úplným názvem tabulky:

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

...nebo alias tabulky:

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

Doporučeným přístupem je alias tabulky – proč psát více, než musíte?

Proč tyto dotazy vypadají jinak?

Za druhé, moje odpovědi používají syntaxi ANSI-92 JOIN (vaše je ANSI-89). Zatímco provádějí totéž, syntaxe ANSI-89 nepodporuje VNĚJŠÍ spojení (RIGHT, LEFT, FULL). Syntaxe ANSI-89 by měla být považována za zastaralou, na SO je mnoho lidí, kteří nebudou hlasovat pro syntaxi ANSI-89, aby to posílili. další informace naleznete v této otázce .



  1. Jak chránit databázi MySQL nebo MariaDB před SQL Injection:Část druhá

  2. Jak změnit kódování kolekce šablon databáze

  3. Proč Oracle zobrazuje ??? pro speciální znaky jako åäö

  4. Jak filtrovat řádky s hodnotami Null v příkazu Select v SQL Server - SQL Server / Výukový program TSQL, část 110