在相关表中搜索字符串

时间:2012-08-14 12:57:28

标签: sql

我有一个包含多个表的数据库,一个用于引用其他表:

主表:

MAIN | table1 | table2 | table3
        int   |  int   |  int

此表的每一行对应一个产品,并包含子表中行的oid

然后我有我的女儿桌子:

TABLE1 | name | adress | phone
       | text | text   | ...

我的问题很简单,即使我刚开始使用数据库,我也无法找到答案。

我想得到主表行的oid(s),它引用table1的行,其名称等于“bob”。

类似的东西:

SELECT * from main where table1.name = "bob"

如果没有完整的解决方案,你能指点我一些文件吗? 我想我会错过词汇来找到合适的词汇来做到这一点。

先谢谢

2 个答案:

答案 0 :(得分:2)

假设oid是表1中的列以及主表中的列:

SELECT m.oid
FROM main m
INNER JOIN table1 t
ON m.table1 = t.oid
WHERE t.name = 'bob'

答案 1 :(得分:1)

你的意思是SELECT oid FROM MAIN WHERE table1 IN (SELECT oid FROM TABLE1 WHERE name = 'bob')

table1 ==从MAINTABLE1的外键。