丸一日このクエリを実行していて、頭が回らないようです。たぶん、正しい方向に私を向けるか、私が探していると思われる機能を教えていただければ、それは大きな意味があります. SQL の Pivot、Case、Union、および Group by 関数を調べてみましたが、うまくいきませんでした。
複数のテーブルから選択しています。テーブルの 1 つには、select で返す必要がある複数の値を含む行が含まれています。
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 Art Work High 00:00.0 1070 リバティライフ リバティライフ リバティライフ ハイデルベルク パンフレット 0 アートワーク ハイ 00:00.0 1082 Liberty Life Liberty Life Liberty Life ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1082 パンフレット パンフレット パンフレット ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1082 8294 8294 8294 ハイデルベルグ (パンフレット 0 Art Work High 00:00.0 1086 8295 8295 8295 ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1086 安定成長パンフレット 安定成長パンフレット 安定成長パンフレット ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1086 Liberty Life Liberty Life Liberty Life ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1090 リバティライフ リバティライフ リバティライフカモリ (VASカード 0 アートワークハイ 00:00.0 1090 VAS カード VAS カード VAS カード カモリ (VAS カード 0 Art Work High 00:00.0 1090 8296 8296 8296 カモリ (VAS カード 0 アートワーク ハイ 00:00.0 1104 8300 8300 8300 ハイデルベルグ メニューテキスト 0 アートワーク 高 00:00.0 1104 メニューテキスト メニューテキスト メニューテキスト ハイデルベルグ メニューテキスト 0 アートワーク 高 00:00.0 1104 南アフリカ航空 南アフリカ航空 南アフリカ航空 ハイデルベルグ メニューテキスト 0 Art Work High 00:00.0
太字の列が問題を引き起こしています。
select で次のものが返されるようにします。
IssueId ワーク チケット 顧客名 ジョブの説明 プリンタ タスクの説明 進捗状況 優先度 DateDue 1070 8828 Liberty Life のパンフレット ハイデルベルクのパンフレット 0 Art Work High 00:00.0 1082 8294 8294 パンフレット ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1086 8295 リバティ ライフ リバティ ライフ ハイデルベルク (パンフレット 0 Art Work High 00:00.0 1090 8296 リバティライフ VAS カード カモリ (VAS カード 0 Art Work High 00:00.0 1104 8300 南アフリカ航空 メニュー テキスト ハイデルベルグ メニュー テキスト 0 Art Work High 00:00.0
どのような機能またはタイプの選択を使用できますか?