我正在使用WP电子商务插件并拥有以下表格
表1 wp_wpsc_cart_contents
|id|quantity|name |purchaseid|price|custom_message|
|22|1 |black ... |46 |19.45|nickname 1 |
|23|1 |red ... |47 |19.45|nickname 2 |
表2 wp_wpsc_submited_form_data
|id|log_id|form_id|value |
|1 |46 |2 |email 1 |
|2 |46 |12 |first name 1 |
|3 |46 |13 |last name 1 |
|4 |47 |2 |email 2 |
|5 |47 |12 |first name 2 |
|6 |47 |13 |last name 2 |
所需表:
|name |log_id/purchaseid|price|quantity|value |
|black ..|46 |19.45|1 |email1, f-name 1, l-name 1|
|red ... |47 |19.45|1 |email2. f-name 2, l-name 2|
我在以下两个查询中取得了有限的成功,但无法确定如何加入表格 - 假设匹配的数据位于不同名称的列中,而且值为'我尝试选择的数据位于不同的行
SELECT *
FROM wp_wpsc_cart_contents
WHERE name LIKE '%$term%'
ORDER BY name
SELECT *, value, GROUP_CONCAT(value SEPARATOR ', ') value
FROM wp_wpsc_submited_form_data
GROUP BY log_id
ORDER BY log_id
截图:
答案 0 :(得分:1)
尝试此查询...
create table desired_table_name as SELECT w.name,w.log_id, w2.price, w.quantity,
w2.value FROM wp_wpsc_cart_contents w inner join wp_wpsc_submited_form_data w2 on
w.log_id=w2.purchaseid WHERE w.name LIKE '%$term%' ORDER BY w.name
答案 1 :(得分:0)
您的第二个查询应该简化一点,以获得您想要的大部分内容:
SELECT log_id, GROUP_CONCAT(value SEPARATOR ', ') value
FROM wp_wpsc_submited_form_data
GROUP BY log_id
然后,您可以在其他查询中将其用作“表格”:
SELECT c.name, c.purchaseid, c.price, c.quantity, f.value
FROM wp_wpsc_cart_contents AS c
JOIN (SELECT log_id AS purchase_id, GROUP_CONCAT(value SEPARATOR ', ') value
FROM wp_wpsc_submited_form_data
GROUP BY log_id) AS f
ON c.purchase_id = f.purchase_id
WHERE name LIKE '%$term%'
ORDER BY name
此外,“提交”还有两个问题。