在当前数据库的设计,我有所谓的“信息”,并开始与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