0

私はSQLiteを初めて使用しますが、CASEWHENの式としてSELECTを使用する方法があるかどうかを尋ねたいと思います。

例えば

CASE WHEN item_type = 'item' THEN 
    SELECT * FROM items ... END AS 'col_1', 
        WHEN item_type = 'subitem' THEN 
            SELECT * FROM subitems ... END AS 'col_2'
4

1 に答える 1

2

はい、できます。あなたがする必要があるのはあなたの副選択を括弧で囲むことです。たとえば、これは機能します。

SELECT CASE WHEN 1 = 0 THEN (SELECT 1) ELSE (SELECT 0) END

また、副選択は正確に単一の値を返す必要があります(複数の値を返すことはできません)。したがって、を実行しようとしても、テーブルに1つの列と1つの行しか含まれていSELECT * FROM subitems ...ない限り、機能しません。subitems

于 2012-12-28T08:52:02.860 に答える