目前,我一直在调整一些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 = #Field name我想要返回#)
是否可以返回UnitAmount和InvoiceDate,即使我需要更改WHERE条件?
非常感谢任何帮助,反馈或推动正确的方向
答案 0 :(得分:0)
这是您希望使用IN
子句的地方。您还需要在SELECT
:
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')