2011-08-11 183 views
-1

什么,我需要的是ALBE选择从一个表,其中从另一个表中的字段的名称叫所有字段信息“field_(和数字)”需要使用SQL子查询帮助

我tryed之类的东西,但它没有工作......

SELECT * 
FROM `fieldList` 
WHERE ID = "(SUBSTRING(SHOW FIELDS,5) FROM formList_5 LIKE 'field_%')" 

SELECT * 
FROM `fieldList` 
WHERE ID = "SUBSTRING((SHOW FIELDS FROM formList_5 LIKE 'field_%'),5)" 

,但没有奏效。

+3

曾几何时,人们担心将数据结构与数据分离... –

+0

您可以给出表结构,一些示例数据和一些预期输出吗?这也许听起来或许是我听到很长一段时间以来设计得最差的数据库之一。阿德里安说的是真的。 –

+0

实际上它只是我忘了1个字段而不能回去,它是一个3个部分的表单数据库,主要包含不同形式的所有信息。第二个是采用人们提交的所有信息,最后一个信息用于包含每个领域的信息(即:字段标题,字段名称,价格等等......我的计划是用它制作某种账单(它们是什么选择),但正如我所说,我搞砸了我的field_ID,不能改变一切,因为已经有一些条目。是不是这样搞砸了... –

回答

2

这是你所需要的:

SELECT * 
FROM `fieldlist` 
WHERE id IN (SELECT SUBSTRING(column_name, 5) 
       FROM information_schema.columns 
       WHERE table_name = 'formList_5' 
       AND column_name LIKE 'field_%') 

但是,对于理智的缘故,如果您可以查看数据库的设计。

+0

OMG谢谢!正是我需要的! 可悲我不能让+因为我没有15个代表......但是非常感谢! –

+0

很高兴能帮到您。现在认真的,请回顾一下您的数据库设计,如果您可以... –

+0

@Charles Forest:的确,您目前无法对此答案满意,但您*可以* [接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)它。 –