SQLite选择记录值在字符串中的位置

时间:2013-08-28 10:12:44

标签: sqlite sql

我的数据库结构如下:

TABLE1

(_id INTEGER PRIMARY KEY AUTOINCREMENT,

titolo VARCHAR(50) NOT NULL,

autore VARCHAR(50) NOT NULL,

id_categoria VARCHAR(20) NOT NULL,

testo TEXT,

UNIQUE(titolo,autore))

TABLE2

(_id INTEGER PRIMARY KEY AUTOINCREMENT,

titolo VARCHAR(50) NOT NULL UNIQUE,

attiva INTEGER(1) DEFAULT(0))

如何选择 table2._id table1.id_categoria 中的行?

table1.id_categoria 字段是这样的“1-2-3 -...”我想检查table2的整数字段_id是否在table1的字段字符串id_categoria中。< / p>

4 个答案:

答案 0 :(得分:0)

试试这个:

select table2.*,table1.id_categoria from table1,table2 
where table1._id=table2._id and 
instr(table1.id_categoria, table2._id)

Check this:

答案 1 :(得分:0)

SELECT * FROM table2 JOIN table1 ON "-"||table1.id_categoria||"-" LIKE "%-"||table2._id||"-%";

答案 2 :(得分:0)

LS-dev不正确答案....见截图:

enter image description here

答案 3 :(得分:-1)

在mysql中定位函数工作正常,您可以使用以下示例对连接查询进行实验:

select * from table1,table2 where locate(table2._id,table1.id_categoria)

对于join透视图,您还可以使用类似

的内容
select * from table1,table2 where 
locate(table2._id,table1.id_categoria) and 
table1.titolo=table2.titolo