我正在尝试编写一些SQL,我有点头疼。基本上,有两个表具有以下字段(只显示与SQL相关的字段):
发票
accno (fk,与帐户上的id链接)
账号
id (pk)分配用户
基本上,我的SQL需要返回帐户当前登录名为AllocatedUser (存储在会话中)的所有发票。这简单吗?
谢谢
发布于 2010-11-30 13:17:45
您可以使用where语句查找用户的所有帐户,并使用join将结果链接到发票表。例如:
select *
from invoices i
join accounts a
on i.accno = a.id
where a.allocateduser = 'YourUser'发布于 2010-11-30 13:22:28
您可以使用半连接:
SELECT *
FROM invoice
WHERE EXISTS(
SELECT 1
FROM accounts
WHERE allocateduser = @allocateduser_value
AND pk = fk)@allocateduser_value是您从会话中传递的参数。小心绳子,所以约翰不是约翰;-)
https://stackoverflow.com/questions/4314136
复制相似问题