2014-02-17 35 views
1

我使用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| 

我已經受夠了以下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 

截圖:

wp_wpsc_cart_contents.PNG wp_wpsc_submited_form_data.PNG

回答

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 
+0

冉myphpadmin查詢並得到了未知列在「字段列表」 – user3317371

+0

又「w.log_id」 - 試圖打印使用表PHP的,而不是在myphpadmin – user3317371

+0

做查詢創建表desired_table_name如SELECT w.name,W2。 log_id,w2.price,w.quantity, w2.value FROM wp_wpsc_cart_contents w內部連接wp_wpsc_submited_form_data w2 w2.log_id = w.purchaseid WHERE w.name LIKE'%$ term%'ORDER BY w.name –

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 

另外,在「提交」中有兩個t。

相關問題