【发布时间】:2018-09-04 14:48:06
【问题描述】:
我对 SQL 有疑问,我想在 4 个表(用户、appuserFunctionRelation、组织、GroupCommerce)中执行此操作,其中组织与 GroupCommerce 相关,而 appuserFunctionRelation 与两者相关,而另一个具有用户 ID。
我想做的是带来用户没有的GroupCommerce。我该怎么做?
SELECT
[AppUserFunctionsRelation].[user],
[CommerceGroup].Organization,
[CommerceGroup].ID AS CommerceGroupID ,
[CommerceGroup].Description AS CommerceGroupDescription
FROM [AppUserFunctionsRelation]
RIGHT JOIN [CommerceGroup]
ON CommerceGroup.Organization = AppUserFunctionsRelation.Organization
AND AppUserFunctionsRelation.[GroupCommerce] = [CommerceGroup].ID
WHERE AppUserFunctionsRelation.GroupCommerce IS NULL
AND CommerceGroup.Organization IN ( SELECT Organizations.[ID]
FROM AppUserFunctionsRelation
INNER JOIN Organizations
ON Organizations.ID = AppUserFunctionsRelation.Organization
WHERE AppUserFunctionsRelation.[User] =22
)
表格:
User
ID|Description
1 |admin
Organization
ID|Description
1 |TestOrg
2 |TestOrg2
CommerceGroup
ID|Organization|Description
1 |1 |TestGC
2 |1 |TestGC2
3 |1 |TestGC3
4 |2 |TestGC4
AppUserFunctionsRelation
User|organization|CommerceGroup
1 |1 |1
预期结果
user|organization|commercegroup
1 | 1 |2
1 | 1 |3
如果您拥有组织的所有业务组,它会是这样的
AppUserFunctionsRelation
User|organization|CommerceGroup
1 |1 |0
这有点过头了,但我需要这样, 使用 0 我意识到用户拥有组织的所有行业组 编号 1
我想带上该组织的用户没有关联的行业组
谢谢
【问题讨论】:
-
请提供样本数据和预期结果。
-
您想要的输出与您的示例数据不一致。看起来用户 1 与组织 1 有关系,组织 1 与除 4 之外的所有商业组都有关系。你能修复你想要的输出或解释你想要做什么。
-
嗯???这对我来说毫无意义。您的样本中缺少某些内容。但是,如果您要发布详细信息,则应将它们发布在问题中,因为 cmets 的格式化很糟糕。
-
对不起,我是stackoverFlow的新手,我会编辑它,希望你能帮助我谢谢
-
你是新来的不是问题。但这一点都不清楚。什么是贸易集团?我越读你的问题,我就越困惑。
标签: sql sql-server linq sql-server-2008