我需要从meta\u value列中获取在相应的meta\u key列中有“shipping”的值,并将它们连接到一个逗号分隔的行中。
我有点不懂sql,所以请温柔一点。
我目前的问题是:
SELECT wp_postmeta.post_ID, wp_postmeta.meta_key, wp_postmeta.meta_value, wp_posts.ID, wp_posts.post_status
FROM wp_postmeta
CROSS JOIN wp_posts
WHERE wp_postmeta.post_ID= wp_posts.ID
AND wp_posts.post_status LIKE 'wc-processing'
AND (wp_postmeta.meta_key LIKE '%shipping%' OR wp_postmeta.meta_key LIKE '_order_total')
3条答案
按热度按时间qaxu7uf21#
你可以用
GROUP_CONCAT
把弦连在一起。正如@kermit所指出的,您应该使用INNER JOIN
不是一个CROSS JOIN
. 我想你应该把订单总额和发货明细分开,所以你也需要使用条件聚合。此查询应满足您的要求:pbossiut2#
这样做应该比在SQLServer上更复杂一些,但也很简单
交付
f4t66c6m3#
所以,这里是您的查询(注意我是如何编写的-我发现良好的sql格式有助于读取它):
以下是我认为您需要的(您使用mysql concat函数):
另请注意:单引号和双引号在不同的数据库中表示不同的内容。