1

私のデータベースには、フィールドがリストされた次の 3 つのテーブルがあります。

TablePS 

 aID 

TableAM 

 aID(pk)
 bID  

TableM 

 bID(pk)
 bName 

TablePS の aID がわかっている場合、TableM の bName の値を見つけるにはどうすればよいですか? 次のクエリを試しました。

SELECT bName FROM TableM WHERE bID=
(SELECT TablePS.aID,TableAM.aID 
FROM TablePS 
INNER JOIN TableAM 
ON TablePS.aID= TableAM.aID)
4

4 に答える 4

4
select bName
from tableM
    inner join tableAM on tableM.bID = tableAM.bID
where
    aID = [value]

十分なはずです。テーブルPSに参加する必要がある場合は、

select bName
from tableM
    inner join tableAM on tableM.bID = tableAM.bID
    inner join tablePS on tableAM.aID = tablePS.aID
于 2012-07-25T11:11:03.420 に答える
1
Select BName from TableM as M inner join TableAM as Am on M.bId=Am.bID
inner join TablePS as P on Am.Aid=P.Aid
于 2012-07-25T11:11:55.697 に答える
1
SELECT k.bName 
FROM TablePS p 
     INNER JOIN TableAM m ON m.aID = p.aID
     INNER JOIN TableM k on k.bID = m.bID
于 2012-07-25T11:12:24.623 に答える
0

sを使いたくない場合はJOIN、おそらくこれです。

aId は変更可能な INT 型であると想定しています。

declare @x as int = 10 --<<change to an id that you are searching for

 select bname from  TableM  where bid in 
            (
            select  bID from TableAM  
            where aID in 
                             (
                             select aID from TablePS where aId = @x
                             ) 
            )
于 2012-07-25T12:32:00.683 に答える