0

私は以下のように3つのテーブルを持っています:

Table Name :
------------
UserList            

Column Name
-------------
DealerID        DealerUserID

AAA             111
AAA             222
AAA             333
BBB             111
BBB             444
CCC             111
CCC             555

--

Table Name :
------------
UserInfo        

Coulmns
--------
DealerUserID    Name    
111             John        
222             James
333             Dany
444             Daniel
555             Romie

--

Table Name :
------------
CarPermitted    

Coulmns
--------
DealerID        DealerUserID

AAA             111
AAA             222
BBB             111
CCC             111

入力を次のように受け取るクエリの結果を以下に示します。

DealerID = AAA の場合

Name    DealerUserID    AllowedStatus

John    111         true
James   222         true
Dany    333         false

以下のように多くの結合を試みましたが、目的の結果を得ることができませんでした。どうすれば入手できますか。

AllowedStatus は、次のように取得する必要がある値です。

テーブル UserList の DealerID と DealerUserID の組み合わせが CarPermitted ///rest に存在する場合、false になります。

注: 1 つのディーラーに属するすべてのディーラーユーザー ID が表示されます。

4

1 に答える 1

1

ほら、クエリが表示されないので、どのように間違っていたかを言うことができます

コメントから、レコードが許可されたテーブルに存在する場合、許可されたステータスが表示されます。

SELECT UF.Name, UF.DealerUserID, 
       CASE P.DealerID IS NULL THEN 'false' ELSE 'true' END AS AllowedStatus
FROM UserList UL
JOIN UserInfo UF ON UL.DealerUserID = UF.DealerUserID
LEFT JOIN CarPermitted P ON UL.DealerUserID = P.DealerUserID AND UL.DealerID = P.DealerID
WHERE UL.DealerID = 'AAA'
于 2013-03-15T07:28:17.830 に答える