0

複数のテーブルで mysql と like/wildcard 構文を使用するにはどうすればよいですか?

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') AND (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')

考えただけで、テストされていません。

4

3 に答える 3

2

テーブルの構造が同じ場合は、UNIONを使用できます。

SELECT * FROM `table1` WHERE `name` LIKE '%tom%' UNION SELECT * FROM `table2` WHERE `name` LIKE '%sam%'
于 2010-01-07T12:22:22.077 に答える
0

実際、UNIONを使用すると、重複する行が削除される可能性があります。重複を保持する場合(たとえば、table1とtable2の%tom%に一致するすべての行でCOUNTを実行する場合)は、UNIONALLを使用します。

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION ALL (SELECT * FROM `table2` WHERE `name` LIKE '%tom%')
于 2010-01-07T13:19:59.240 に答える
0

ユニオンを使う

(SELECT * FROM `table1` WHERE `name` LIKE '%tom%') UNION
 (SELECT * FROM `table2` WHERE `name` LIKE '%sam%')
于 2010-01-07T12:26:11.463 に答える