1

2 つのテーブルがあり、1 つはもう 1 つのインデックスを作成しています。

Table#1 をクエリしていますが、Table#2 の一意の行に対応する ID を持つ列 (文字列) が 1 つあります。Table#1 の列の値が空の文字列でない場合に、Table#2 から値を取得できるクエリを Sqlite で作成しようとしています。

ちょっと好き:

"SELECT TMake,TModel,TTrim,IYear,[%q] AS TPart1 FROM AppGuide WHERE TPart1 != ''"

しかし、Index 値 (TPart1) を取得する代わりに、Table#2 から文字列を取得したいと思います。

これは可能ですか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

相関サブクエリを使用できます。

SELECT TMake,
       TModel,
       ...,
       (SELECT stringvalue
        FROM Table2
        WHERE Table2.ID = Table1.TPart1)
FROM Table1
WHERE Table1.TPart1 != ''

ただし、これらは実行がかなり遅いため、結合を使用することをお勧めします (これはまったく同じ結果を返します)。

SELECT Table1.TMake,
       Table1.TModel,
       ...,
       Table2.stringvalue
FROM Table1 LEFT JOIN Table2 ON Table1.TPart1 = Table2.ID
WHERE Table1.TPart1 != ''

Table1一致するTable2レコードがないレコードを取得したくない場合は、 LEFT.

于 2012-10-09T05:39:27.093 に答える