SQL从另一个表列数据返回1个表数据

时间:2013-06-08 07:35:17

标签: sql sql-server tsql

嘿,伙计们快速提问。 如果我想使存储过程从不同的表列中获取1个表中的所有信息。 更多详情..... table1 =用户PK = accountid table2 =帐户PK = accountid 我要检查的行叫做role(int只包含1和0)。 因此,如果role = 1,我想检查哪些帐户具有角色1,并显示具有该角色编号的所有用户。如果不是1然后0将显示其他用户?

现在我正在思考

 USE [database]
 GO

 SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 CREATE PROCEDURE [dbo].[sp_Users_SelectAllByaccountRole]
 (
 @role int
 )
 AS

 BEGIN
 select * from Users 
 where (role = @role from Accounts) 
 && 
 (Users.accountid == account.accountid)

 END

但我不知道语法,我不确定我的逻辑,我们将非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

假设Role列位于Accounts表格上,那么它似乎只是一个简单的INNER JOIN ...

SELECT u.*
FROM Users u
INNER JOIN Accounts a on a.AccountID = u.AccountID
WHERE a.Role = @role