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

SELECT odlišné hodnoty pro více řádků stejného ID

Můžete použít toto jednoduché řešení:

SELECT DISTINCT
    a.id,
    b.value AS SIGN_UP,
    c.value AS FIRST_NAME,
    d.value AS STREET
FROM tbl a
LEFT JOIN tbl b ON a.id = b.id AND b.field_name = 'sign_up'
LEFT JOIN tbl c ON a.id = c.id AND c.field_name = 'first_name'
LEFT JOIN tbl d ON a.id = d.id AND d.field_name = 'street'

Pro jistotu jsem provedl spojení LEFT JOIN 's protože nevím, jestli může ID chybět pole, v takovém případě se zobrazí jako NULL v našich odvozených sloupcích.

Ukázka SQL-Fiddle



  1. Chyba syntaxe tabulky Postgres

  2. Pár malých problémů se vzorky Hekaton

  3. Úvod k hromadnému shromažďování PL/SQL v databázi Oracle

  4. Jak vypočítat rozdíl mezi dvěma časovými razítky v MySQL