0

次のような構造のDBがあります。

表1

(_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))

表2

(_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 にあるかどうかを確認したいと思います。

4

4 に答える 4

0

これを試して:

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

これをチェックして:

于 2013-08-28T11:33:05.650 に答える
0
SELECT * FROM table2 JOIN table1 ON "-"||table1.id_categoria||"-" LIKE "%-"||table2._id||"-%";
于 2013-08-28T12:51:26.523 に答える
0

正解ではない LS-dev .... スクリーンショットを参照してください。

ここに画像の説明を入力

于 2013-08-28T14:14:49.090 に答える
-1

mysql の検索機能は正常に動作します。次の例の結合クエリで試すことができます。

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

結合パースペクティブについては、次のようなものも使用できます

select * from table1,table2 where 
locate(table2._id,table1.id_categoria) and 
table1.titolo=table2.titolo
于 2013-08-28T10:34:43.800 に答える