sql >> Databáze >  >> RDS >> PostgreSQL

Sloučit výsledky tabulky do sloupců (kontingenční/kontingenční?)

Chcete-li najít nejnovější časové razítko, použijte nejprve operátor porovnání k vyloučení budoucích časových razítek. Dále seřaďte podle nejmenšího intervalu odečtením možných kandidátů na časové razítko od požadovaného časového razítka. Chcete-li získat pouze nejnovější výsledek, limit 1.

Chcete-li získat tabulku2 val sloupec pro zobrazení se sloupci tabulka1, stačí spustit stejný kód pro tabulku2 v rámci poddotazu.

SELECT update_time AS time, id1, id2, val, (
  SELECT val from table2 
  WHERE '2004-10-19 10:04:00' >= update_time
  ORDER BY '2004-10-19 10:04:00' - update_time
  LIMIT 1
)
FROM table1 WHERE '2004-10-19 10:04:00' >= update_time
ORDER BY '2004-10-19 10:04:00' - update_time
LIMIT 1;



  1. Více hodnot řádků do jednoho řádku

  2. Zřetězení sloupce skupinou v R

  3. Jak funguje ASCII() v MariaDB

  4. Pomalý MySQL dotaz