sql >> Databasteknik >  >> RDS >> Mysql

Gå med i tabeller som listar rader som kolumner kopplade till en annan tabell?

SELECT i.thingid, t.name,
       MAX(IF(d.name = "enabled", i.data, NULL)) enabled,
       MAX(IF(d.name = "size", i.data, NULL)) size,
       MAX(IF(d.name = "colour", i.data, NULL)) colour
FROM info i
JOIN defs d ON i.defid = d.id
JOIN things t ON i.thingid = t.id
GROUP BY i.thingid

DEMO



  1. SQL-utvecklarfel med inaktivera moduler och fortsätt

  2. Avancerad SQL:CROSS APPLY och OUTER APPLY

  3. SQL Server :returnerar kolumnnamn baserat på en posts värde

  4. hur räknar man rader med första bokstaven?