Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Can';无法使用内部联接查看查询的正确结果_Mysql_Sql - Fatal编程技术网

Mysql Can';无法使用内部联接查看查询的正确结果

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

我有3个表,无法正确查看查询结果

下面是我正在使用的表格

  • 项目

  • 产品

  • 用户

  • 我需要项目的名称和产品的Ar_描述,以便为登录的用户显示。但是查询的结果只显示一个结果

    我希望它按分配给用户的组进行分组

    它正在获得正确的用户和组,但不是该组中的所有项目

    下面是我正在使用的代码:

    用户实验室=

     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)