具有选择条件的SQL搜索查询

时间:2017-05-10 09:12:56

标签: 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

每个用户的结果只应获取其相关课程值。

`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 个答案:

答案 0 :(得分:0)

我认为你正在寻找这样的连接查询,否则请提供更多信息:

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

要使此查询成功运行,您需要在Courses表中使用外键UserId。

此外,您可以在“用户”表中使用外键CourseId并使用此查询:

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

JOIN子句用于根据两个或多个表之间的相关列组合来自两个或多个表的行。

Quick explanation of Joins

Here you can find and test on an example

如果您对如何创建外键有疑问,请查看此部分:

Foreign Keys