使用输入的用户详细信息动态过滤表

时间:2011-08-15 09:16:55

标签: c# mysql sql

我有一个用户表,其中包含userFirstname,emailid,organization作为列。我必须根据已登录系统的用户过滤用户。我有登录系统的用户的电子邮件ID。我需要一个sql语句,以便根据与登录用户相同的组织过滤用户。

2 个答案:

答案 0 :(得分:0)

像这样的东西, (获取登录用户组织,然后查找该组织中的所有用户):

SELECT *
FROM   USER
WHERE  organisation IN (SELECT organisation
                         FROM   USER
                         WHERE  emailid = loggedon_emailid)

答案 1 :(得分:0)

我认为这不是什么大问题,因为这听起来像是一个家庭作业问题。但是,在应用程序中,您很可能需要经常引用与给定emailid相关联的数据。因此,您可能想要运行

SELECT * FROM User WHERE emailid = loggedon_emailid

在代码路径的开头,将该数据保存在内存中。然后,要执行您需要的查询,您只需运行:

SELECT * FROM User WHERE organisation = $loggedon_organisation

然后,当您需要在屏幕上打印用户的名称或组织时,您将不需要额外的SQL查询。而且,如果您有其他表,则可以运行更多查询,而无需在User表中重复查找用户的行。例如(这纯粹是假设的):

SELECT organisation_address FROM Organisation WHERE organisation = $loggedon_organisation