Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Użyj wyniku SELECT jako nazwy COLUMN w innym SELECT

Nie potrzebujesz do tego dynamicznego SQL (a jeśli to możliwe, należy unikać dynamicznego SQL). Zamiast tego możesz użyć instrukcji CASE. Możesz to zrobić za pomocą jednej instrukcji, ale podzieliłem ją na potrzeby wyświetlania:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plik CSV dzielący moje dane wierszy na osobne wiersze

  2. Usuwanie rekordu ze zbioru danych i serwera sql

  3. Jak usunąć konto pocztowe bazy danych z profilu w programie SQL Server (T-SQL)

  4. Pobieranie wartości z pola typu XML przy użyciu serwera SQL

  5. Jak wyszukiwać i analizować sąsiednią hierarchię list za pomocą cte?