Mysql
 sql >> Baza danych >  >> RDS >> Mysql

1052:Kolumna „id” na liście pól jest niejednoznaczna

SQL obsługuje kwalifikowanie kolumny przez poprzedzenie odniesienia pełną nazwą tabeli:

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

...lub alias tabeli:

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

Zalecanym podejściem jest użycie aliasu tabeli — po co wpisywać więcej niż trzeba?

Dlaczego te zapytania wyglądają inaczej?

Po drugie, moje odpowiedzi używają składni ANSI-92 JOIN (Twoja to ANSI-89). Chociaż działają tak samo, składnia ANSI-89 nie obsługuje złączeń OUTER (RIGHT, LEFT, FULL). Składnię ANSI-89 należy uznać za przestarzałą, jest wielu na SO, którzy nie będą głosować na składnię ANSI-89, aby to wzmocnić. Aby uzyskać więcej informacji, zobacz to pytanie .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd składni spowodowany użyciem zastrzeżonego słowa jako nazwy tabeli lub kolumny w MySQL

  2. Jak skonfigurować replikację MySQL w RHEL, Rocky i AlmaLinux?

  3. Najlepszy sposób na WSTAWIANIE wielu wartości w mysqli?

  4. Jak połączyć się z bazą danych za pomocą Sequel Pro

  5. Resetowanie wskaźnika tablicy w wynikach PDO