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

Поправете „ГРЕШКА 1222 (21000):Използваните оператори SELECT имат различен брой колони“, когато използвате UNION в MariaDB

Когато използвате UNION оператор в MariaDB, може да срещнете следната грешка:„ГРЕШКА 1222 (21000):Използваните оператори SELECT имат различен брой колони“.

Тази грешка възниква, когато броят на колоните, върнати от всеки SELECT твърдението е различно.

Начинът да поправите това е да се уверите, че и двете SELECT операторите връщат същия брой колони.

Пример за грешка

Ето пример за код, който създава грешката:

SELECT TeacherName FROM Teachers
UNION
SELECT StudentId, StudentName FROM Students;

Резултат:

ERROR 1222 (21000): The used SELECT statements have a different number of columns

Тук първият SELECT оператор връща една колона (TeacherName ), но вторият SELECT оператор връща две колони (StudentId и StudentName ).

Решение

Решението е да се гарантира и двете SELECT операторите връщат същия брой колони

Така че, използвайки горния пример, можем да премахнем допълнителната колона от нашия втори SELECT изявление:

SELECT TeacherName FROM Teachers
UNION
SELECT StudentName FROM Students;

Или можем да добавим друга колона към първия SELECT изявление:

SELECT TeacherId, TeacherName FROM Teachers
UNION
SELECT StudentId, StudentName FROM Students;

Имайте предвид, че можете да получите различни резултати в зависимост от това коя опция изберете. Това е така, защото UNION връща различни редове по подразбиране. Когато добавим друга колона, има възможност един по-рано дублиран ред да стане уникален ред, в зависимост от стойността в допълнителната колона.

Можем също да използваме UNION ALL , който връща дублиращи се стойности:

SELECT TeacherId, TeacherName FROM Teachers
UNION ALL
SELECT StudentId, StudentName FROM Students;

Това също може да върне различни резултати към другите примери.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хранене на собствена кучешка храна – пускане на JIRA на MariaDB

  2. Как да добавите число с водещи нули в MariaDB

  3. Как да извършите операция при отказ за настройка на MySQL репликация

  4. MySQL и MariaDB кеширане на заявки с ProxySQL и ClusterControl

  5. Как да настроите наречени часови зони в MariaDB