Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Sql 将这些值返回到多个列中_Sql - Fatal编程技术网

Sql 将这些值返回到多个列中

Sql 将这些值返回到多个列中,sql,Sql,目前,我一直在用一些SQL的东西来帮助我处理我的Power BI报告 目前,这是我正在使用的代码 SELECT DISTINCT custf.FieldValue AS ID FROM CustomFields custf INNER JOIN ProjectFields projf ON projf.ProjectFieldId = custf.ProjectFieldId INNER JOIN Projects proj ON proj.P

目前,我一直在用一些SQL的东西来帮助我处理我的Power BI报告

目前,这是我正在使用的代码

SELECT DISTINCT custf.FieldValue AS ID
FROM CustomFields custf
    INNER JOIN ProjectFields projf 
        ON projf.ProjectFieldId = custf.ProjectFieldId
    INNER JOIN Projects proj 
        ON proj.ProjectId = projf.ProjectId
WHERE proj.TenantId = '130' 
   AND proj.ProjectId='1650' 
   AND projf.Name = 'UnitAmount'
然而,数据库的设置方式在我看来非常“奇怪”。因为为了让我返回一个字段的值,我必须引用另外两个表(如语句所示)

我的问题是,虽然我需要从一个表中返回两列(或更多),但区分数据的唯一方法(因为数据都在一列中)是字段名(projf.name=#我希望返回的字段名#)

例如,即使我需要更改WHERE条件,是否可以返回UnitAmount和InvoiceDate


非常感谢您向正确方向提供的任何帮助、反馈或推动

这是您希望使用中的
子句的地方。您还需要在
选择中添加另一个字段:

SELECT DISTINCT projf.Name,
    custf.FieldValue AS ID
FROM CustomFields custf
    INNER JOIN ProjectFields projf 
        ON projf.ProjectFieldId = custf.ProjectFieldId
    INNER JOIN Projects proj 
        ON proj.ProjectId = projf.ProjectId
WHERE proj.TenantId = '130' 
    AND proj.ProjectId = '1650' 
    AND projf.Name IN ('UnitAmount', 'InvoiceDate')

您可以先告诉我们您正在处理什么rdbms,然后在问题中添加相关表的DDL和一些示例数据作为DDL,以及所需的结果。这样,您将增加获得正确答案的机会。感谢您的回复(很抱歉,延迟回复在大约24小时内没有连接到internet),但是我需要这两个或更多的值在不同的列中返回,而不是在其上带有标签的列中返回。有什么想法吗?谢谢