SQL建议 - 根据另一个表中的列进行选择

时间:2010-11-30 13:14:14

标签: c# sql

我正在尝试编写一些SQL时遇到一些麻烦。基本上,有2个表具有以下字段(仅显示与SQL相关的字段):

  

发票

 accno (fk, linked to id on accounts)
     

帐户

 id (pk)
 allocateduser

基本上,我的SQL需要返回所有帐户当前登录名称为AllocatedUser的发票,该发票存储在会话中。这样做很简单吗?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以查找具有where语句的用户的所有帐户,并使用join将结果链接到发票表。例如:

select  *
from    invoices i
join    accounts a
on      i.accno = a.id
where   a.allocateduser = 'YourUser'

答案 1 :(得分:0)

您可以使用半连接:

SELECT * 
  FROM invoice
 WHERE EXISTS(

SELECT 1 
  FROM accounts 
 WHERE allocateduser = @allocateduser_value
   AND pk = fk)

@allocateduser_value是您从会话传递的参数。小心字符串的情况,所以约翰不是约翰; - )