在當前數據庫的設計,我有所謂的「信息」,並開始與product_一些其他表主表(product_life_insurance,product_medical_insurance,...)選擇表名從SQL查詢中加入
-Leads Table :
--ID
--Product
...
-Product_Life_insurance Table :
--ID
--LeadID
...
的首席行:
ID 5
Product: life_insurance
一個product_life_insurance行:
ID 1
LeadId 5
..
是否有無論如何創建一個查詢來選擇來自Leads的表名稱並添加「product_」前綴,然後將其加入到產品表中?
我的意思是:
SELECT *
FROM `leads` JOIN `product_life_insurance` ON `leads`.`id` = `product_life_insurance`.`leadID`
WHERE `leads`.`id` = '5';
我想選擇的表名從leads
表連接,並添加「product_」前綴,它和我的查詢中使用它。
謝謝:)
你應該使用mysql的CONCAT函數。 – 2015-03-13 12:12:58
您需要使用動態SQL或在您的應用程序中構建表名。具有相同結構的不同表格通常是數據庫設計不佳的標誌 - 至少它阻礙了寫入查詢。 – 2015-03-13 12:14:27
@CFFavor感謝您指點我正確的方向,Iv'e從您今天學到了一件新的伴侶隊友:) 現在我可以做到: 'SELECT *,CONCAT('product_',product) AS product_table FROM'leads' WHERE'leads'.'id' ='1000'' – PayamB 2015-03-13 12:21:16