sql >> Database teknologi >  >> RDS >> Mysql

Mysql EAV matcher række som felt eller enheds egenskabsværdi

Du kan bruge flere venstre joinforbindelser til at gøre dette.

SELECT 
    o.create_date,
    o.title,
    o.author,
    op1.value AS start_date,
    op2.value AS end_date,
    ...
FROM object o
LEFT JOIN object_properties op1 ON op1.object_id=o.object_id AND op1.type_id=1
LEFT JOIN object_properties op2 ON op2.object_id=o.object_id AND op2.type_id=2

Værdier, der ikke har egenskaber, ender med at være nul.

Denne metode behøver du heller ikke have en ekstra forespørgsel for at få egenskaberne.

REDIGER Hvis du ikke ønsker at hente null-værdier, så udelad den left del af left join .



  1. Hvad er den bedste måde at skrive det første bogstav i hvert ord i en streng i SQL Server med stort

  2. Hvordan kontrollerer man, om der findes en database i SQL Server?

  3. Er det bedre at VÆLGE, før DU TILMELDER?

  4. Beregn forskellen mellem to datoer i timer og minutter