2017-05-10 63 views
0

我正在嘗試從多個記錄的數據庫中獲取結果。具有選擇條件的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

的每個用戶的結果應只取其相關d當然值..

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

我需要獲取這個超過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 等....

+1

添加一些示例表數據和預期的結果 - 以及格式化文本。 – jarlh

+1

你的JOIN需要一個ON子句。 – jarlh

+0

將你的條件插入一個臨時表,然後加入他們 – Milney

回答

0

我asume您正在尋找這樣的連接查詢,否則請提供更多信息:

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

要使此查詢成功運行,您需要一個外鍵「課程」表中的UserId。

而且你可以有一個外鍵CourseId在「用戶」表格,並使用此查詢:

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

連接子句用於行從兩個或多個表合併,基於以下兩者之間的相關列他們。

Quick explanation of Joins

Here you can find and test on an example

如果您有關於如何建立外鍵的問題看這個部分:

Foreign Keys

+0

我已成功加入如下表格..但是需要條件/連接類型才能過濾僅針對一個國家/地區的訂單 選擇[Order],[O] .CustomerID作爲[CustomerID] ], [Oi] .Odederid as [OIOrderID],OI.ProductID,P.ProductName,P.ID AS [ProductIDa],P.IsDiscontinued, s.city,s.country from [order] o inner join [orderitem] oi on o.id = oi.orderid inner join [product] p on oi.productid = p.id inner join [supplier] s on p.supplierid = s.id –