获取同一行主表的多条记录

时间:2013-12-03 15:17:47

标签: sql sql-server database join case

大家好朋友,我在SQL表中遇到以下场景 我有两个表,需要一个表来查询它们。 表1是USER表(主)。

USERID   USERNAME   EMAILADD    
 113       name1     q@q.com
 114       name2     b@bcom

以下是第二个查找表

userid districtid schoolid schoolNAme radius
 113    12332       35831    Fort       1.0 
 113    2332        35832    Spring     1.0 
 114    2334        35831    Spring     1.0 

以下是我的要求

userid   username    emailadd   schoolid
  113      name1       q@q.com    35831
  113      name1       q@q.com    35832
  114      name2       b@b.com    35831

我尝试了以下查询

SELECT userID , userNAME, emailadd, phone, 
    (SELECT schoolid from Lookup 
           where UserID IN(select distinct userid from users)) schoolid 
FROM Users 

但它根本不工作。我是SQL服务器的新手,任何人都可以建议一个更好的方法来实现结果。

2 个答案:

答案 0 :(得分:0)

使用join连接表格

SELECT u.userID, u.userNAME, u.emailadd, u.phone, l.schoolid
FROM Users u
inner join Lookup l on u.userid = l.userid

答案 1 :(得分:0)

使用简单的JOIN,

SELECT
    Users.userid,username,emailadd,schoolid
FROM
    Users 
INNER JOIN Lookup ON Users.userid = Lookup .userid

如果你只想选择,你甚至可能想要使用“WITH(NOLOCK)”,如果你需要更多的记录需要迭代