Mysql Can';无法使用内部联接查看查询的正确结果
我有3个表,无法正确查看查询结果 下面是我正在使用的表格Mysql Can';无法使用内部联接查看查询的正确结果,mysql,sql,Mysql,Sql,我有3个表,无法正确查看查询结果 下面是我正在使用的表格 项目 产品 用户 我需要项目的名称和产品的Ar_描述,以便为登录的用户显示。但是查询的结果只显示一个结果 我希望它按分配给用户的组进行分组 它正在获得正确的用户和组,但不是该组中的所有项目 下面是我正在使用的代码: 用户实验室= Select USERS.C_USER_LAB Where user_name = USER Order By user_name 用户组= Select USERS.GROUP_NAME Whe
项目
产品
用户
Select USERS.C_USER_LAB
Where user_name = USER
Order By user_name
用户组=
Select USERS.GROUP_NAME
Where user_name = USER
Order By user_name
Receive=“F”
cleararray(UnitsArray 1)
预期数据:
收到的数据:
此查询将返回与第二个附加屏幕截图相同的结果
Select Project.ProjectName, Product.Ar_Description, Project.GROUP_NAME
From Project
inner join Product on Product.ProjectId = Project.ProjectId
inner join Users U on U.Userid = Project.Userid
Where U.Userid = 123
and Project.GROUP_NAME = 'GDL_RY'
group by Project.ProjectName,Product.Ar_Description,Project.GROUP_NAME
让我为你创造一些逻辑上的理解。看,您在第一个屏幕截图中附加的预期输出是可获取的,但如您所见,要获取它,您必须删除Ar\u Description
列。但是,每当您添加Product.Ar\u Description
项目时,为什么会重复?
因为现在查询也将遍历Ar_Description列,并为每个唯一的数据添加一行。。比如
还有其他方法,其中之一是获取Ar\u Description
的count
,或将其数据透视
计数:
Select Project.ProjectName, Count(Product.Ar_Description), Project.GROUP_NAME
From Project
inner join Product on Product.ProjectId = Project.ProjectId
inner join Users U on U.Userid = Project.Userid
Where U.Userid = 123
and Project.GROUP_NAME = 'GDL_RY'
group by Project.ProjectName,Count(Product.Ar_Description)
结果将是:
Project1有100个AR_描述
项目2有1个AR_描述
对于数据透视:
看到这个答案:好心的家伙们,我需要解决的不是纠正英语错误。所以请认真点。感谢示例数据和预期输出将有助于我们认真检查问题。@Susang我已经添加了图片。这里的大多数人想要格式化的文本,而不是图像(或图像链接)。返回的错误是此处不允许使用group函数:-(事实上,问题是所有提到的AR_说明都不在该项目中。我需要C_接收状态为“F”的产品说明,以便它只显示选择性的产品。
1) Project1 has Careem in AR_Description
2) Project1 also has powder in AR_Description
hence 2 rows for Project1.
Select Project.ProjectName, Count(Product.Ar_Description), Project.GROUP_NAME
From Project
inner join Product on Product.ProjectId = Project.ProjectId
inner join Users U on U.Userid = Project.Userid
Where U.Userid = 123
and Project.GROUP_NAME = 'GDL_RY'
group by Project.ProjectName,Count(Product.Ar_Description)