2016-10-20 7 views
0

に参加私はちょうど作成し、次の例のように変数を使用しての素晴らしい技術を使用する方法を見つけ出すことはできません。句、変数を使用して、DB2、および複数の

WITH t(myvar) AS (VALUES('welcomeagain')) 
SELECT 
    tablename.*, 
    joinedtable.valueid 
FROM 
    tablename, t? 
    left join joinedtable on 
    joinedtable.keyid = tablename.keyid 
WHERE 
    tablename.column1 = t.myvar 

私は「t」にどのように参加しなければならないのですか?環境はDB2 ISeries 7.2です。

は多分これはあなたが望むものであるあなたの助け

マーティン

答えて

0

いただき、誠にありがとうございますか!あなたがしたくない何

WITH t(myvar) AS (VALUES('welcomeagain')) 
SELECT 
    tablename.*, 
    t.myvar, 
    joinedtable.valueid 
FROM 
    tablename 
    join t on tablename.column1 = t.myvar 
    left join joinedtable on joinedtable.keyid = tablename.keyid 

またはこの

WITH t(myvar) AS (VALUES('welcomeagain')) 
SELECT 
    tablename.*, 
    t.myvar, 
    joinedtable.valueid 
FROM 
    tablename 
    left join t on tablename.column1 = t.myvar 
    left join joinedtable on joinedtable.keyid = tablename.keyid 

またはこの

WITH t(myvar) AS (VALUES('welcomeagain')) 
SELECT 
    tablename.*, 
    t.myvar, 
    joinedtable.valueid 
FROM 
    tablename 
    cross join t 
    left join joinedtable on joinedtable.keyid = tablename.keyid 

はカンマです - それは、古いスタイルとそれを組み合わせるために参加し、構文であるため、新しいスタイルの結合は、常に少し鈍いです(それがまったく動作する場合)。

+0

うまくいきました!私は最初の選択肢を選んだ。ありがとうございました! – brosoft

+0

@brosoft - 他のオプションを試して、どれが正しいかを知ることをおすすめします。 – Hogan

関連する問題