我有一種情況,我需要將現有產品從MSSQL數據庫中提取爲CSV格式,以便將其導入另一個數據庫,每行都需要包含儘可能多的來自現有數據庫的信息。我認爲到目前爲止,我已經獲得了大部分我需要的查詢,但是我一直在研究如何將每個項目的多個類別合併爲一行。SQL Server:創建多個類別的逗號分隔列表..使用STUFF?還有別的嗎?
發生了什麼是我將有列出的每個類別的重複行。因此,如果將其分配給玻璃和玻璃和玻璃連接器類別,我將爲每個連接器分配一行。
我想那裏是一個單場命名,這只是逗號分隔這樣的分類:
我讀到的東西()可以做到這一點「玻璃,玻璃和玻璃連接器」,但我不能似乎得到正確的語法。 Stack上的其他例子似乎不適用於我的情況,或者我只是不知道如何將其應用於我的查詢,所需的JOIN數量也沒有幫助。
這裏是我的查詢:
SELECT
tblCatalog_SKUs.InternalSKU,
tblCatalog_Products.Name AS ParentProd,
tblCatalog_Categories.Name AS Category,
tblCatalog_SKUs_Images.Image1,
tblCatalog_SKUs_Images.Image2,
tblCatalog_SKUs_Images.Image3,
tblCatalog_Products.Summary,
tblCatalog_SKUs.Name AS optName,
tblCatalog_SKUs.Description AS optDesc,
tblCatalog_SKUs.Price,
tblCatalog_SKUs.Inventory,
tblCatalog_SKUs.Sale
FROM tblCatalog_Products_Categories
INNER JOIN tblCatalog_Categories
ON tblCatalog_Products_Categories.CategoryID = tblCatalog_Categories.CategoryID
INNER JOIN tblCatalog_SKUs
ON tblCatalog_Products_Categories.ProductID = tblCatalog_SKUs.ProductID
INNER JOIN tblCatalog_SKUs_Images
ON tblCatalog_SKUs.SKUID = tblCatalog_SKUs_Images.SKUID
INNER JOIN tblCatalog_Products
ON tblCatalog_SKUs.ProductID = tblCatalog_Products.ProductID
樣品結果: http://i.stack.imgur.com/Y7AIt.png
我希望有可能是這樣的在MySQL GROUP_CONCAT。
感謝您的幫助!
'FOR XML PATH('')' – 2015-02-12 02:31:20