1

私の句では、選択ステートメントを使用して列の値を動的INNER JOINに設定したいと考えています。IDMultilingual条項を使用する必要がありますか? 条項INを使用してもよいEXISTSですか?

INNER JOIN  MLTA ON MLTA.IDObject = MSR.idobject 
        AND MLTA.IDObjectType = 15
        AND MLTA.IDMultilingual = SELECT ID 
                                  FROM   MLA 
                                  WHERE  Columnname = 'SHOW' 
                                  AND    Tablename = 'Category'
4

1 に答える 1

0

新しいエイリアスを使用しJOINて同じテーブルにエクストラを追加します。MLTA何かのようなもの:

...
INNER JOIN MLTA   m  ON m.IDObject       = MSR.idobject 
                    AND m.IDObjectType   = 15
INNER JOIN MLTA  m2  ON m.IDMultilingual = m2.ID     ---<<<<<<<<<<<<<<<<<<<<<<<
....

INただし、次のように述語を使用できます。

....
INNER JOIN  MLTA ON MLTA.IDObject = MSR.idobject 
        AND MLTA.IDObjectType = 15
WHERE MLTA.IDMultilingual IN(SELECT ID 
                             from MLA 
                             WHERE Columnname = 'SHOW' 
                               AND Tablename = 'Category');

または述語も同じ方法で、列の値の場合は述語EXISTSよりも安全かもしれません。INNULLID

于 2013-01-11T14:25:58.373 に答える