如何从sql中的两个表中提取数据?

时间:2015-10-28 06:48:28

标签: sql sql-server

我想从两个表中提取数据。我的表格User包含User_idUserNameUserLoginName列。

另一个表格为UserContactDetail,其中包含Contact_idContact_detail_typeContact_detailUser_id列(外键)。

联系人详细信息类型如下:

1 = address
2 = city
3 = phone number 

现在我希望所有用户的联系方式都是类型3。 例如:如果联系人详细信息中的数据是

user_id - COntact_detail_type - contact_detal

12     -     2               -    ABC
12     -     3               -  95412545

如果用户联系人详细信息类型为3,则选择联系人详细信息,如果不存在,则应为空。我怎么能这样做?

我试过这个,但有200个用户只选择那些在联系人详细信息表中的用户。

SELECT [User].[user_name],[User].[user_id],
       [UserContactDetail].[contact_type_id],
       [UserContactDetail].[contact_detail]
FROM [UserContactDetail]
  INNER JOIN [User] ON [UserContactDetail].[user_id] = [User].[user_id]
where [UserContactDetail].[contact_type_id] = 2;

1 个答案:

答案 0 :(得分:0)

试试这种方式

select * from User as a
Left join ContactDetails as b 
On  a.user_id=b.user_id 
and b.Contact_detail_type=3