[英]Merging rows from the same column in SQL
我知道有很多关于此的文章,但我只是不明白该怎么做?
这是我正在使用的代码(此处未合并):
SELECT coupon_code, order_id, youwp_woocommerce_order_itemmeta.meta_value, youwp_postmeta.meta_value
FROM `youwp_woocommerce_order_items`, `youwp_woocommerce_order_itemmeta`, `youwp_postmeta`, `you_ambassador`
WHERE you_ambassador.user_id = 1
AND youwp_woocommerce_order_items.order_item_name = you_ambassador.coupon_code
AND order_id = youwp_postmeta.post_id
AND youwp_woocommerce_order_items.order_item_id = youwp_woocommerce_order_itemmeta.order_item_id
AND youwp_woocommerce_order_itemmeta.meta_key = 'discount_amount'
AND (youwp_postmeta.meta_key = '_billing_first_name' OR youwp_postmeta.meta_key = '_billing_last_name')
这给了我:
我想合并/合并meta_value数据“ Kennet Leth”和“Sørensen”,它们是:
youwp_postmeta.meta_key ='_billing_first_name'
youwp_postmeta.meta_key ='_billing_last_name'
我使用STUFF或MAX和GROUP BY找到了类似问题的一些答案,但我只是不理解语法?
是在答案使用t1和t2或A和B(t1.value-t2.value或A.value = B.value)之类的选择时,我才不明白吗?
我试图更改这些解决方案,以使其适合我的代码,但无法使其正常工作:
SELECT STUFF((SELECT ', ' + A.[Bank Account No] FROM tbl_Customer_Bank_Details A
Where A.[Customer ID]=B.[Customer ID] FOR XML PATH('')),1,1,'') As [Bank Accounts]
From tbl_Customer_Bank_Details B
Group By [Customer ID], [Customer Name]
要么
SELECT Code,
( SELECT Name + ' '
FROM Table1 t2
WHERE t2.Code = t1.Code
ORDER BY Name
FOR XML PATH('') ) AS Name
FROM Table1 t1
GROUP BY Code ;
如何输入表和列的值?
编辑:
为了澄清起见,我试图合并“ youwp_postmeta.meta_value”列中的2行/结果。
我从指定的结果:
WHERE (youwp_postmeta.meta_key = '_billing_first_name'
OR youwp_postmeta.meta_key = '_billing_last_name')
AND order_id = youwp_postmeta.post_id
所以我为每个order_id获得2行,为_billing_first_name分配一个行,为_billing_first_name分配一个行,这些是我要合并/合并的行。
找到了一种方法来做到这一点;)
刚刚更改了我的SELECT字符串以包括下查询和CONCAT():
SELECT coupon_code, order_id, im.meta_value,
CONCAT((SELECT pm.meta_value FROM `youwp_postmeta` AS pm WHERE pm.meta_key =
'_billing_first_name' AND order_id = pm.post_id), ' ',
(SELECT pm.meta_value FROM `youwp_postmeta` AS pm WHERE pm.meta_key =
'_billing_last_name' AND order_id = pm.post_id)) AS name
FROM
`youwp_woocommerce_order_items` AS i,
`youwp_woocommerce_order_itemmeta` AS im,
`youwp_postmeta` AS pm,
`you_ambassador` AS a
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.