sql >> Databáze >  >> RDS >> Sqlserver

Použijte výsledek SELECT jako název COLUMN v jiném SELECT

K tomu nepotřebujete dynamické SQL (a dynamickému SQL byste se měli vyhnout, pokud je to jen trochu možné). Místo toho můžete použít příkaz CASE. Můžete to udělat jedním příkazem, ale pro účely zobrazení jsem ho rozdělil:

DECLARE @brand VARCHAR(100) = (SELECT brand FROM articles a WHERE a.id='12345678')

SELECT CASE @brand
           WHEN 'BRAND_A' THEN BRAND_A_PRICE
           WHEN 'BRAND_B' THEN BRAND_B_PRICE
           WHEN 'BRAND_C' THEN BRAND_C_PRICE
           ELSE 0 END AS PRICE
FROM prices
WHERE id='12345678'


  1. Jaký je úhel pohledu?

  2. Fulltextové vyhledávání MySQL má vždy 0 výsledků?

  3. Je porovnávání řetězců v MySQL citlivé na útoky načasování?

  4. Výsledky PHP SQL dotazu