未確認ですが、だいたいこんな感じでいいと思います。
select * from テーブルA A
inner join
テーブルB B
on
A.id=B.tableA_id
where
A.name like "%" + キー + "%"
or
A.hobby like "%" + キー + "%"
or
B.musician like "%" + キー + "%"
or
B.song like "%" + キー + "%"
DBの種類やバージョンによって 記述の仕方を変更する必要はあります。
こんな感じ?
select A.name, A.hobby, B.musician, B.song from Table_A as A, Table_B as B where A.name like '%田%' and A.id = B.tableA_id
select A.name, A.hobby, B.musician, B.song from Table_A as A, Table_B as B where A.hobby like '%卓球%' and A.id = B.tableA_id
select A.name, A.hobby, B.musician, B.song from Table_A as A, Table_B as B where B.musician like '%ラルク%' and A.id = B.tableA_id
select A.name, A.hobby, B.musician, B.song from Table_A as A, Table_B as B where ( A.name like '%花%' or B.song like '%花%' ) and A.id = B.tableA_id
▽3
●
うぃんど ●200ポイント ベストアンサー |
処理系によって多少書き方に違いがありますので、
質問する場合にはAccess2010とかMySQL5.1.58といった具合に、
環境を書いておくほうが望ましいです
下記とりあえずの例です
SELECT a.*, b.* FROM テーブルA a LEFT JOIN テーブルB b ON (b.tableA_id = a.id) WHERE (a.name LIKE '%キーワード%') OR (a.hobby LIKE '%キーワード%') OR (b.musician LIKE '%キーワード%') OR (b.song LIKE '%キーワード%') ;