私は2つのテーブルを持っており、私は相対的な情報を選択する必要があります、クエリにいくつかの助けが必要です。SQLクエリ複数のテーブル
表2は、ID
,MaskID
の列を有する。
表3ありMaskID
、MaskName
、Total
私はテーブルからID
、MaskName
、Total
を選択することができますどのように、私はID
がすでに与えられていると仮定すると?どのように私はそれらを横断するのですか?
私は2つのテーブルを持っており、私は相対的な情報を選択する必要があります、クエリにいくつかの助けが必要です。SQLクエリ複数のテーブル
表2は、ID
,MaskID
の列を有する。
表3ありMaskID
、MaskName
、Total
私はテーブルからID
、MaskName
、Total
を選択することができますどのように、私はID
がすでに与えられていると仮定すると?どのように私はそれらを横断するのですか?
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
あなたがそれらを介して「トラバース」によって何を意味するかわかりません。
SQLクエリで結合を使用することができます。 w3schools siteには、その使用方法を説明するページがあります。
SELECT t2.ID,t3.MaskName,t3.Total
FROM Table2 t2 INNER JOIN Table3 t3
ON t2.MaskID=t3.MaskID;
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を検索します。
select ID, MaskName, Total from TABLE_2
inner join TABLE_3 on (TABLE_2.MaskID=TABLE_3.MaskID)
where ID=111
あなたは(w3fools.comを参照)SO上のリソースとしてW3Schoolsのはもちろんのことは悪いことである
select ID,MaskName,Total from Table1 Inner join Table2 on Table1.MaskID = Table2.MaskId where ID = "given value"
など、より良いリソースがあります。適切なANSIスタイルのJOIN構文を使用してください。 - don 'カンマで区切ったリストでテーブルを一覧表示するだけです。 - INNER JOIN構文を使用してください!それはANSI標準です、それは読者にははるかに明確です! –
このクエリを使用しshoud。 http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – Taryn