如果现在一整天都在做这个查询,我似乎无法理解它。如果你能指出我正确的方向或告诉我我想寻找什么功能,那将意味着很多。我试过在 SQL 中查看 Pivot、Case、Union 和 Group by 函数,但没有运气……但它看起来很简单
我正在从多个表中进行选择。其中一个表包含一行,其中包含我需要在选择中返回的多个值。
SQL:
(SELECT ONYAK_SIGMAPRO_Issues.IssueId,
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Work Ticket],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Customer Name],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Job Description],
ONYAK_SIGMAPRO_ProjectCategories.CategoryName AS [Printer],
ONYAK_SIGMAPRO_Issues.IssueTitle AS [Task Description],
ONYAK_SIGMAPRO_Issues.Progress,
ONYAK_SIGMAPRO_ProjectStatus.StatusName AS [Status],
ONYAK_SIGMAPRO_ProjectPriorities.PriorityName AS [Priority],
ONYAK_SIGMAPRO_Issues.DateDue
FROM (ONYAK_SIGMAPRO_Issues INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFieldValues ON ONYAK_SIGMAPRO_Issues.IssueId = ONYAK_SIGMAPRO_ProjectCustomFieldValues.IssueId INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFields ON
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldId = ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId AND
ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCustomFields.ProjectId INNER JOIN
ONYAK_SIGMAPRO_ProjectStatus ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectStatus.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueStatusId = ONYAK_SIGMAPRO_ProjectStatus.StatusId INNER JOIN
ONYAK_SIGMAPRO_ProjectPriorities ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectPriorities.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssuePriorityId = ONYAK_SIGMAPRO_ProjectPriorities.PriorityId INNER JOIN
ONYAK_SIGMAPRO_ProjectCategories ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCategories.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueCategoryId = ONYAK_SIGMAPRO_ProjectCategories.CategoryId
)
WHERE ONYAK_SIGMAPRO_Issues.ProjectId = 2
AND ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId = 1
UNION all
SELECT ONYAK_SIGMAPRO_Issues.IssueId,
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Work Ticket],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Customer Name],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Job Description],
ONYAK_SIGMAPRO_ProjectCategories.CategoryName AS [Printer],
ONYAK_SIGMAPRO_Issues.IssueTitle AS [Task Description],
ONYAK_SIGMAPRO_Issues.Progress,
ONYAK_SIGMAPRO_ProjectStatus.StatusName AS [Status],
ONYAK_SIGMAPRO_ProjectPriorities.PriorityName AS [Priority],
ONYAK_SIGMAPRO_Issues.DateDue
FROM ONYAK_SIGMAPRO_Issues INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFieldValues ON ONYAK_SIGMAPRO_Issues.IssueId = ONYAK_SIGMAPRO_ProjectCustomFieldValues.IssueId INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFields ON
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldId = ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId AND
ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCustomFields.ProjectId INNER JOIN
ONYAK_SIGMAPRO_ProjectStatus ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectStatus.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueStatusId = ONYAK_SIGMAPRO_ProjectStatus.StatusId INNER JOIN
ONYAK_SIGMAPRO_ProjectPriorities ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectPriorities.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssuePriorityId = ONYAK_SIGMAPRO_ProjectPriorities.PriorityId INNER JOIN
ONYAK_SIGMAPRO_ProjectCategories ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCategories.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueCategoryId = ONYAK_SIGMAPRO_ProjectCategories.CategoryId
WHERE ONYAK_SIGMAPRO_Issues.ProjectId = 2
AND ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId = 4
UNION all
SELECT ONYAK_SIGMAPRO_Issues.IssueId,
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Work Ticket],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Customer Name],
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldValue AS [Job Description],
ONYAK_SIGMAPRO_ProjectCategories.CategoryName AS [Printer],
ONYAK_SIGMAPRO_Issues.IssueTitle AS [Task Description],
ONYAK_SIGMAPRO_Issues.Progress,
ONYAK_SIGMAPRO_ProjectStatus.StatusName AS [Status],
ONYAK_SIGMAPRO_ProjectPriorities.PriorityName AS [Priority],
ONYAK_SIGMAPRO_Issues.DateDue
FROM ONYAK_SIGMAPRO_Issues INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFieldValues ON ONYAK_SIGMAPRO_Issues.IssueId = ONYAK_SIGMAPRO_ProjectCustomFieldValues.IssueId INNER JOIN
ONYAK_SIGMAPRO_ProjectCustomFields ON
ONYAK_SIGMAPRO_ProjectCustomFieldValues.CustomFieldId = ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId AND
ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCustomFields.ProjectId INNER JOIN
ONYAK_SIGMAPRO_ProjectStatus ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectStatus.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueStatusId = ONYAK_SIGMAPRO_ProjectStatus.StatusId INNER JOIN
ONYAK_SIGMAPRO_ProjectPriorities ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectPriorities.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssuePriorityId = ONYAK_SIGMAPRO_ProjectPriorities.PriorityId INNER JOIN
ONYAK_SIGMAPRO_ProjectCategories ON ONYAK_SIGMAPRO_Issues.ProjectId = ONYAK_SIGMAPRO_ProjectCategories.ProjectId AND
ONYAK_SIGMAPRO_Issues.IssueCategoryId = ONYAK_SIGMAPRO_ProjectCategories.CategoryId
WHERE ONYAK_SIGMAPRO_Issues.ProjectId = 2
AND ONYAK_SIGMAPRO_ProjectCustomFields.CustomFieldId = 9)
ORDER BY ONYAK_SIGMAPRO_Issues.IssueId
结果:
IssueId工作单 客户姓名 职位描述打印机任务描述 进度状态 优先级 DateDue 1070 8828 8828 8828 海德堡宣传册 0 艺术作品 高 00:00.0 1070 小册子 小册子 海德堡小册子 0 艺术作品 高 00:00.0 1070 Liberty Life 自由生活 Liberty Life 海德堡宣传册 0 艺术作品 高 00:00.0 1082 Liberty Life 自由生活 Liberty Life 海德堡(宣传册 0 艺术作品 高 00:00.0 1082 小册子 小册子 小册子 海德堡 (brochures 0 Art Work High 00:00.0 1082 8294 8294 8294 海德堡(宣传册 0 艺术作品 高 00:00.0 1086 8295 8295 8295 海德堡(宣传册 0 艺术作品 高 00:00.0 1086 稳定增长手册 稳定增长手册 稳定增长手册 海德堡(手册 0 Art Work High 00:00.0 1086 Liberty Life 自由生活 Liberty Life 海德堡(宣传册 0 艺术作品 高 00:00.0 1090 Liberty Life Liberty Life 自由生活 Kamori(VAS 卡 0 艺术品高 00:00.0 1090 VAS 卡 VAS 卡 VAS 卡 Kamori (VAS Card 0 Art Work High 00:00.0 1090 8296 8296 8296 Kamori (VAS Card 0 Art Work High 00:00.0 1104 8300 8300 8300 海德堡 菜单文本 0 艺术作品 高 00:00.0 1104 菜单文本 菜单文本 菜单文本 海德堡 菜单文本 0 艺术作品 高 00:00.0 1104 南非航空公司 南非航空公司 南非航空公司 海德堡 菜单文本 0 艺术作品 高 00:00.0
粗体栏给我带来了麻烦。
我希望选择返回以下内容:
IssueId 工作单 客户姓名 职位描述 打印机任务描述 进度状态 优先级 DateDue 1070 8828 自由生活手册 海德堡手册 0 艺术作品 高 00:00.0 1082 8294 8294 小册子 Heidelberg (brochures 0 Art Work High 00:00.0 1086 8295 Liberty Life 海德堡自由生活 (宣传册 0 艺术作品 高 00:00.0 1090 8296 Liberty Life VAS 卡 Kamori (VAS Card 0 Art Work High 00:00.0 1104 8300 南非航空公司菜单文本海德堡菜单文本 0 艺术作品高 00:00.0
我可以使用什么功能或选择类型?