UPDATE:SQL - 如何將結果從一個UNION結合
按照要求,這裏是「真正的」 SQL:
SELECT p.ReferenceNumber,
p.Name,
'' as 'Size of Prize',
'' as 'Complexity',
pfc.ConfigurationValue as 'Strategic Fit'
FROM FormConfigurations AS fc INNER JOIN
ProjectForms AS pf ON pf.FormID = fc.FormID INNER JOIN
ProjectFormConfigurations AS pfc ON pfc.ProjectFormID = pf.ID AND pfc.FormConfigurationID = fc.ID INNER JOIN
Project AS p ON p.ID = pf.ProjectID
WHERE (fc.[Key] = 'Strategic Fit')
GROUP BY p.ReferenceNumber, p.Name, pfc.ConfigurationValue, fc.[Key]
UNION
SELECT p.ReferenceNumber,
p.Name,
'' as 'Size of Prize',
pfc.ConfigurationValue as 'Complexity',
'' 'Strategic Fit'
FROM FormConfigurations AS fc INNER JOIN
ProjectForms AS pf ON pf.FormID = fc.FormID INNER JOIN
ProjectFormConfigurations AS pfc ON pfc.ProjectFormID = pf.ID AND pfc.FormConfigurationID = fc.ID INNER JOIN
Project AS p ON p.ID = pf.ProjectID
WHERE (fc.[Key] = 'Complexity')
GROUP BY p.ReferenceNumber, p.Name, pfc.ConfigurationValue, fc.[Key]
UNION
SELECT p.ReferenceNumber,
p.Name,
pfc.ConfigurationValue as 'Size of Prize',
'' as 'Complexity',
'' as 'Strategic Fit'
FROM FormConfigurations AS fc INNER JOIN
ProjectForms AS pf ON pf.FormID = fc.FormID INNER JOIN
ProjectFormConfigurations AS pfc ON pfc.ProjectFormID = pf.ID AND pfc.FormConfigurationID = fc.ID INNER JOIN
Project AS p ON p.ID = pf.ProjectID
WHERE (fc.[Key] = 'Projected EBIT')
GROUP BY p.ReferenceNumber, p.Name, pfc.ConfigurationValue, fc.[Key]
我其中有一個鍵值列充當表在設計時不知道柱子的佔位符,這是另一塊大型軟件所必需的。我需要根據KeyValue列中的某些值獲取記錄;在這種情況下,讓我們調用所需的值Foo,Bar和Baz。每個檢索到的記錄必須具有全部三個值,否則它們不應該顯示。
下面是我用工會試圖查詢:
SELECT KeyValue as 'Foo',
'' as 'Bar',
'' as 'Baz'
FROM Table1
WHERE KeyValue = 'Foo'
UNION
SELECT '' as 'Foo',
KeyValue as 'Bar',
'' as 'Baz'
FROM Table1
WHERE KeyValue = 'Bar'
SELECT '' as 'Foo',
'' as 'Bar',
KeyValue as 'Baz'
FROM Table1
WHERE KeyValue = 'Baz'
不幸的是,什麼情況是,我有鋸齒的記錄,而不是所有的填充列的一個記錄。也就是說,不是我的獲取所需的記錄類似下面的:
Foo Bar Baz
- - -
- - -
- - -
- - -
- - -
我,而不是讓這些:
Foo Bar Baz
-
-
-
-
-
-
什麼我需要做什麼來糾正我的查詢?
我認爲你需要加入表格。 –
這確實是一個JOIN,而不是一個UNION –
對列別名使用雙引號。 ' 「富」'。單引號用於字符串文字。 – jarlh