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

Wiele zapytań UNION nie działa

Oznaczyłeś swoje pytanie jako MySQL i używasz nawiasów kwadratowych [] . O ile mi wiadomo, nawiasy kwadratowe nie ważne dla MySQL i są ważne tylko dla produktów Microsoft (SQL Server/MS Access). Więc jeśli potrzebujesz dołączyć nazwę tabeli/kolumny, użyj backticków ` .

Z dokumentacji:

Więc myślę, że twoje zapytanie powinno brzmieć:

SELECT `Ordine numero` AS ordine, `data ordine` AS data, comm AS commessa
FROM `archivio globale`
WHERE `ordine numero` IS NOT NULL

UNION ALL

SELECT `numero ordine cliente` AS ordine, `data ordine cliente` AS data, numero AS commessa
FROM `ricambi`
WHERE `numero ordine cliente` IS NOT NULL

UNION ALL

SELECT `numero ordine cliente` AS  ordine, `data ordine cliente` AS data, numero AS commessa
FROM `trasferte`
WHERE `numero ordine cliente` IS NOT NULL

ORDER BY `ordine`;

Edytuj, jeśli używasz MS Access, musisz użyć nawiasów kwadratowych:

SELECT *
FROM
(
  SELECT [Ordine numero] AS ordine, [data ordine] AS data, comm AS commessa
  FROM [archivio globale]
  WHERE [ordine numero] IS NOT NULL

  UNION ALL

  SELECT [numero ordine cliente] AS ordine, [data ordine cliente] AS data, numero AS commessa
  FROM [ricambi]
  WHERE [numero ordine cliente] IS NOT NULL

  UNION ALL

  SELECT [numero ordine cliente] AS  ordine, [data ordine cliente] AS data, numero AS commessa
  FROM [trasferte]
  WHERE [numero ordine cliente] IS NOT NULL
) x
ORDER BY [ordine];


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zapytanie mysql POKAŻ KOLUMNY Z tabeli, np. 'nazwa_kolumny':pytania

  2. MySQL (lub PHP?) grupuje wyniki według danych pola

  3. Jak uzyskać wstawioną wartość dla wyzwalacza?

  4. Co to jest MySQL? – Wprowadzenie do systemów zarządzania bazami danych

  5. MySQL w 2018 roku:co jest w wersji 8.0 i inne obserwacje