我一直在寻找解决方案,但到目前为止我还没有找到。
所以这里的问题是,假设我有两个表:
Table1
name | code
-------------------
a | [a][b][c]
b | [a][c][d]
c | [a][e]Table2
code | name
-------------------
a | aaaa
b | bbbb
c | cccc
d | dddd
e | eeee我想做多个select Table1.name和Table2.name where Table1.code LIKE '%b%'或Table1.code LIKE '%e%'
所以结果应该是这样:
name | name
------------------
a | aaaa
c | cccc我确实试过了:
SELECT Table1.name, Table2.name
FROM Table1, Table2
WHERE Table1.code LIKE '%b%' OR Table1.code LIKE '%e%'但它并没有起作用。我是新手,非常感谢您的帮助:)
发布于 2013-01-17 13:13:53
为了使用连接2个表,如函数或实例,函数将
使用"like"
**column_name1 like '%'column_name2'%'**使用"instr"
**instr(column_name1,column_name2)>0**其中,column_name1引用列,column_name2引用您正在搜索的模式
在您的示例中,尝试如下所示
使用like的
SELECT Table1_name, Table2_name FROM
( SELECT Table1.name table1_name
,Table1.code table1_code
,Table2.name table2_name
,Table2.code table2_code
FROM Table1 JOIN Table2 ON
(Table2.name LIKE '%'||Table1.name||'%') OR (Table1.code LIKE '%'||Table2.code||'%')
WHERE Table1.name=Table2.code
) new1
WHERE Table1_code LIKE '%b%' OR Table1_code LIKE '%e%'使用INSTR的
SELECT Table1_name, Table2_name FROM
( SELECT Table1.name table1_name
,Table1.code table1_code
,Table2.name table2_name
,Table2.code table2_code
FROM Table1 JOIN Table2 ON
INSTR(Table2.name,Table1.name)>0 OR INSTR(Table1.code,Table2.code)>0
WHERE Table1.name=Table2.code
) new1
WHERE Table1_code LIKE '%b%' OR Table1_code LIKE '%e%'发布于 2013-01-17 11:59:27
SELECT t1.name, t2.name FROM
Table1 t1 INNER JOIN Table2 t2 ON (t1.name = t2.code)
WHERE t1.code LIKE '%b%' OR t1.code LIKE '%e%'由于这是一个内连接,因此如果第二个表中有匹配的代码,则只会返回第一个表中的行。如果希望显示Table1中任何匹配的行,请使用LEFT JOIN
发布于 2013-01-17 11:40:13
如果我是对的,这样的东西对你来说应该是有效的:
SELECT * FROM table1 AND table2 WHERE table1code LIKE '%e%'https://stackoverflow.com/questions/14371857
复制相似问题