如何进行SQL查询,其中字段是不同查询的结果?

时间:2010-03-25 15:46:27

标签: sql

我有两张桌子,

第一个是这样的:

f1 | f2 | f3 | f4
-----------------
data....

第二个包含有关第一个字段的信息:

field | info
------------
 f1      a
 f2      b
 f3      a
etc.

我想查询第一个表,在第二个表中选择带有查询的字段。因此,例如,我可能想要获取信息等于“a”的字段的数据,因此我会“从first_table中选择f1,f3”。我该如何以编程方式执行此操作?我正在考虑select (select fields from second_table where info='a') from first_table

的内容

由于 克里斯

2 个答案:

答案 0 :(得分:0)

您不能将字符串视为SQL中的字段标识符,只是无法完成。唯一的方法是首先运行第一个查询,然后根据第一个结果构建另一个SQL查询。

即便如此,听起来你正在以错误的方式做事。也许您应该描述一下您的实际应用,以便人们可以提出更好的方法来解决它。

答案 1 :(得分:0)

您必须运行第一个查询并使用数据构建动态查询,然后可以运行该查询以获取所需的数据。这通常在您需要透视查询时使用,其中事先不知道字段数。