2012-03-05 15 views
1

私は2つのテーブルを持っており、私は相対的な情報を選択する必要があります、クエリにいくつかの助けが必要です。SQLクエリ複数のテーブル

表2は、ID,MaskIDの列を有する。

表3ありMaskIDMaskNameTotal

私はテーブルからIDMaskNameTotalを選択することができますどのように、私はIDがすでに与えられていると仮定すると?どのように私はそれらを横断するのですか?

答えて

1

TSQLクエリは次のようになります。

SELECT t2.ID, t3.MaskName, t3.Total 
FROM Table2 AS t2 INNER JOIN Table3 AS t3 ON (t2.MaskId = t3.MaskId) 
WHERE ID = 123 

あなたがそれらを介して「トラバース」によって何を意味するかわかりません。

0

SQLクエリで結合を使用することができます。 w3schools siteには、その使用方法を説明するページがあります。

+1

このクエリを使用しshoud。 http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – Taryn

2
SELECT t2.ID,t3.MaskName,t3.Total 
FROM Table2 t2 INNER JOIN Table3 t3 
ON t2.MaskID=t3.MaskID; 
0
SELECT a.ID, b.MaskName, b.Total from 2 a INNER JOIN 3 b ON a.MaskID=b.MaskID WHERE ID='Given value' 

これは、単純なMYSQL/T SQL/PLSQLクエリです。 2つのテーブルでINNER JOINを使用するだけです。結合は、2つのテーブルを並べて組み合わせて機能します。 INNER JOINは、2つのテーブルの交差の結果のみを出力します。つまり、主キーと外部キーの値が一致する行のみです。

場合によっては、他の行も出力する必要があります。そのような場合は、LEFT JOIN、RIGHT JOIN、FULL JOINを検索します。

0
select ID, MaskName, Total from TABLE_2 
inner join TABLE_3 on (TABLE_2.MaskID=TABLE_3.MaskID) 
where ID=111 
-1

あなたは(w3fools.comを参照)SO上のリソースとしてW3Schoolsのはもちろんのことは悪いことである

select ID,MaskName,Total from Table1 Inner join Table2 on Table1.MaskID = Table2.MaskId where ID = "given value"

+5

など、より良いリソースがあります。適切なANSIスタイルのJOIN構文を使用してください。 - don 'カンマで区切ったリストでテーブルを一覧表示するだけです。 - INNER JOIN構文を使用してください!それはANSI標準です、それは読者にははるかに明確です! –