2017-05-10 23 views
0

いくつかのレコードのDBから結果を取得しようとしています。選択条件付きSQL検索クエリ

Table 1 Table 2
UserID UserName DOB RegistrationID CourseID UserID u1 UA 1/1/1900 1 C1 u1 u2 UB 1/2/1900 2 C2 u3 u3 UC 1/3/1900 3 C4 u2 u4 UD 1/4/1900 4 C3 u3

マイ検索基準は、各ユーザーの

  • U1-Q3
  • U2-Q1
  • U3-Q2

結果であろうはず関連するものだけを取り出す私は100を超えるレコードの組み合わせ

where t1.userid = u1 and t2.courseid = c1 and t1.userid = u2 and t2.courseid = c4 and t1.userid = u1 and t2.courseid = c3 などなどのためにこれをフェッチする必要があります。..

`Where t1.userid = u1 and t2.courseid = q3.. ` 

Dコース値....

+1

は、いくつかのサンプル・テーブル・データと予想される結果を追加 - だけでなく、フォーマットテキスト。 – jarlh

+1

あなたのJOINにはON句が必要です。 – jarlh

+0

条件をテンポラリテーブルに挿入してから – Milney

答えて

0

私はあなたがこのようなジョイン・クエリを探しているasumeそうでない場合は、詳細情報をご提供ください:

SELECT UserDetails 
FROM Users t1 
LEFT JOIN Courses t2 ON t2.UserId = t1.UserId 

このクエリを正常に実行するには、外部キーが必要です[コース]テーブルの[ユーザーID]をクリックします。間の関連列に基づいて、2つ以上の表からの行を結合するために使用される

SELECT * 
FROM Users t1 
LEFT JOIN Courses t2 ON t2.CourseId = t1.CourseId 

A JOIN句を:

はまた、あなたは、「ユーザー」テーブルに外部キーCourseIdを持っており、このクエリを使用することができますそれら。

Quick explanation of Joins

Here you can find and test on an example

あなたは外部キーを作成する方法について質問がある場合は、このセクションを見てください:

Foreign Keys

+0

私は以下のようなテーブルに参加することができました..しかし、条件/ジョイントタイプは1つの国のみをフィルタリングするために必要です [オーダーID]、[O] .CustomerIDを[CustomerID ]、 [Oi] .Orderidとして[OIOrderID]、OI.ProductID、P.ProductName、P.ID AS [ProductIDa]、P.IsDiscontinued、 s.city、s.country [注文] o 内部結合[orderitem] oi on o.id = oi.orderid 内部結合[製品] p on oi.productid = p.id 内部結合[サプライヤ] s on p.supplierid = s.id –