sql >> Database >  >> RDS >> Mysql

Hoe gegevens uit meerdere kolommen samenvoegen tot één? [Aangrenzende lijst modelquery]

Zoals je zei, zou je een UNION . kunnen gebruiken over het resultaat van uw zoekopdracht. In de rest van het antwoord zal ik u een oplossing laten zien met behulp van CTE, een standaard SQL-syntaxis die in veel systemen beschikbaar is, maar helaas niet in MySQL. Om deze query echter om te zetten voor MySQL, kunt u het volgende antwoord bekijken:Hoe gebruik je de "WITH"-clausule in MySQL?

WITH query AS (
  SELECT t1.categoryid AS lev1, t2.categoryid as lev2, t3.categoryid as lev3, t4.categoryid as lev4
  FROM category AS t1
  LEFT JOIN category AS t2 ON t2.parent = t1.categoryid
  LEFT JOIN category AS t3 ON t3.parent = t2.categoryid
  LEFT JOIN category AS t4 ON t4.parent = t3.categoryid
  WHERE t1.categoryid = 4149418031)
SELECT lev1 AS category_value FROM query
  UNION
SELECT lev2 AS category_value FROM query
  UNION
SELECT lev3 AS category_value FROM query
  UNION
SELECT lev4 AS category_value FROM query;



  1. Exporteer een grote MySQL-tabel als meerdere kleinere bestanden

  2. mysql SELECT IF-instructie met OR

  3. Hoe te schrijven naar een CSV-bestand met Oracle SQL*Plus

  4. Parametersnuiven, insluiten en de RECOMPILE-opties