sql >> Databáze >  >> RDS >> Mysql

Více UNION dotazů nefunguje

Svou otázku jste označili jako MySQL a používáte hranaté závorky [] . Pokud vím, hranaté závorky nejsou platné pro MySQL a jsou platné pouze pro produkty společnosti Microsoft (SQL Server/MS Access). Pokud tedy potřebujete uzavřít název tabulky/sloupce, použijte backticks ` .

Z dokumentace:

Takže si myslím, že váš dotaz by měl znít:

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

Upravte, pokud používáte MS Access, budete muset použít hranaté závorky:

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. PHP a MySQL:mysqli_num_rows() očekává, že parametr 1 bude mysqli_result, daný booleovský

  2. Jak nasadit Percona XtraDB Cluster 8 pro vysokou dostupnost

  3. Jak vytvořit více LEFT JOINů s NEBO plně používat složený index? (část 2)

  4. laravel 4 - jak omezit (vzít a vynechat) pro výmluvné ORM?