我有如下所述的要求。查询需要获取SQL Server 2008 R2数据库上的数据。用逗号分隔连接表格和返回数据
尽我所能提取数据如下所述,但不能。非常感谢您的帮助。
Product_table
SKU UPC Details Weight Color
223 111 TShirt 25 White
224 114 Pants 25 Black
225 115 Abc 29 Yellow
230 116 XyX 23 Pink
226 117 AXYz 25 Red
226 118 Abdc 26 White
228 119 Abcr 20 Pink
229 120 Abcy 22 Green
Custom_tbl
SKU Custom_name Custom_value
223 Pickup true
223 eligible false
223 size medium
223 map red
224 pickup false
224 eligible false
224 map green
225 Pickup true
225 eligible true
225 size large
225 department 001
225 availability true
226 Pickup true
226 size large
226 map blue
226 availability true
229 eligible true
从提到查询以上两个表需要如后所述,以获取数据。
注意:CustomValues(示例表中的第六列)用逗号分隔,我只需要3个值(Custom_tbl中的拾取,符合条件的映射列和其余部分需要忽略;如果任何custom_name不可用,则它应该返回空字符串(从第3行检查),如下所示)
SKU UPC DETAILS WEIGHT COLOR CustomValues
223 111 TShirt 25 White true,false,red
224 114 Pants 25 Black false,false,green
225 115 Abc 29 Yellow true,true,
226 118 Abdc 26 White true,,blue
228 119 Abcr 20 Pink ,,,
229 120 Abcy 22 Green ,true,
任何能帮助我在修改了上述相同数据的查询,但我需要排除其CUSTOM_NAME可享有和价值是虚假数据。我有这个查询得到我正在寻找原始问题,但无法添加我正在寻找的条件。感谢您的帮助。
对于上述相同的数据,我需要排除其Custom_name符合条件且值为false的数据。我有这样的查询,但无法添加上述逻辑
SELECT productDetails.sku, Isnull(productDetails.sku, '') + ','
+ Isnull(productDetails.upc, '') + ','
+ Isnull(productDetails.details, '')
+ ',' + CustomValues
FROM (SELECT PD.*,
Stuff((SELECT ',' + Attributes.customval
FROM (SELECT
A.sku,
Isnull(Max(A.[Pickup]), '') + ','
+ Isnull(Max(A.[eligible]), '') + ','
+ Isnull(Max(A.[size]), '') AS customVal
FROM (SELECT sku, Isnull(CASE WHEN custom_name = 'Pickup' THEN Max(custom_value) END, '') AS 'Pickup',
Isnull(CASE WHEN custom_name = 'eligible' THEN Max(custom_value) END, '') AS 'eligible',
Isnull(CASE WHEN custom_name = 'size' THEN Max(custom_value) END, '') AS 'size'
FROM [product_custom_details]
GROUP BY sku, custom_field_name) AS A
GROUP BY A.sku) Attributes
WHERE Attributes.sku = PD.sku
FOR xml path('')), 1, 1, '') AS CustomValues
FROM [product_details] PD) AS productDetails
ORDER BY productDetails.sku
'“我只需要3个值按顺序”,那是什么顺序? –
检查东西的功能,这将在这里解决你的问题 – Veljko89