Mysql
 sql >> база данни >  >> RDS >> Mysql

1052:Колона „id“ в списъка с полета е двусмислена

SQL поддържа квалифициране на колона чрез префикс на префикса с пълното име на таблицата:

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

...или псевдоним на таблица:

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

Псевдонимът на таблицата е препоръчителният подход – защо да пишете повече, отколкото трябва?

Защо тези заявки изглеждат различно?

Второ, моите отговори използват синтаксис ANSI-92 JOIN (вашият е ANSI-89). Въпреки че изпълняват същото, синтаксисът на ANSI-89 не поддържа ВЪНШНИ присъединявания (ДЯСНО, НАЛЯВО, ПЪЛНО). Синтаксисът на ANSI-89 трябва да се счита за отхвърлен, има много хора в SO, които няма да гласуват за синтаксис на ANSI-89, за да го подсили. За повече информация вижте този въпрос .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да търся (независимо от главни букви) в колона, използвайки заместващ знак LIKE?

  2. Връща само числови стойности в MySQL

  3. Как мога да предотвратя SQL инжектирането в PHP?

  4. Топ пет софтуерни приложения за достъп до MySQL/MariaDB сървъри

  5. Какво е по-добре в MYSQL count(*) или count(1)?