0

ここに画像の説明を入力

このクエリは、5 未満の製品 ID に割り当てられているすべての templateId を提供します。これは予想される出力です。ただし、where 句でサブクエリを使用せずにそれを実現したかった (赤で強調表示)。

サブクエリを削除すると、出力はすべて templateproduct テーブルの templateId になります。私たちはそれを望んでいません。必要なのは、製品 1 から 5 にのみ割り当てられるテンプレート ID です。したがって、予想される出力は次のようになります。

100 102

今日、追加のサブクエリを使用してこれを達成しています。サブクエリを使用せずに同じ結果を達成したかったのです。

私たちはSQL 2008を使用しています

4

3 に答える 3

0

列のレイアウトについて 100% 確信があるわけではありませんが、おそらく次のようなものです。

SELECT
    TemplateID,
    --Other fields here
FROM
    Product pr INNER JOIN TemplateProduct tp on pr.prod_id = tp.prod_id 
        INNER JOIN Template tr on tp.templateID = tr.templateID AND tr.prod_id = pr.prod_id
WHERE
    tp.prod_id < 5
于 2013-10-10T17:51:19.423 に答える