【发布时间】:2016-03-22 00:26:43
【问题描述】:
我知道有很多关于这个的帖子,但我就是不明白怎么做?
这是我正在使用的代码(此处不合并):
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')
这给了我:
我想合并/合并元值数据“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,这些是我想要合并/加入的行。
【问题讨论】:
-
不,我正在尝试将同一列中的行中的数据合并到 1 中。
标签: mysql sql select merge row