sql >> Database >  >> RDS >> Mysql

Meerdere UNION-query's werken niet

Je hebt je vraag getagd als MySQL en je gebruikt vierkante haken [] . Voor zover ik weet, zijn vierkante haken niet geldig voor MySQL en zijn alleen geldig voor Microsoft-producten (SQL Server/MS Access). Dus als je een tabel-/kolomnaam moet insluiten, gebruik dan backticks ` .

Uit de documentatie:

Dus ik denk dat je vraag zou moeten zijn:

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`;

Bewerken, als u MS Access gebruikt, moet u de vierkante haken gebruiken:

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. Hoe meerdere rapporten met barcode \ of meerdere barcodes in één rapport af te drukken

  2. Verschillen tussen DATA INFILE en LOAD DATA LOCAL INFILE

  3. SQLite hernoemt PRINTF() naar FORMAT()

  4. Wiskundige functies van SQL Server (volledige lijst)