sql >> データベース >  >> RDS >> Sqlserver

SELECT の結果を他の SELECT の COLUMN 名として使用する

    これを行うために動的 SQL は必要ありません (可能な限り、動的 SQL は避ける必要があります)。代わりに、CASE ステートメントを使用できます。 1 つのステートメントでこれを行うことができますが、表示のために分割しました:

    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. データベース テーブルをキューとして使用する

    2. Oracle 11 SQL:1行をx行に分割し、新しい列を挿入します

    3. OracleのVARCHAR2のデフォルト値は何ですか?

    4. T-SQL で時刻オフセットを使用して日時を解析する