我拥有的:下一个结构:
表零
-> id (主要具有自动增量)
-> 其他
table_1
-> id (表零 id 的外键)
-> varchar(80) 示例值:(aahellobbb)
-> 一个字段
table_2
-> id (表零 id 的外键)
-> varchar(160) 示例值:(aaececehellobbb)
-> 其他字段
我想要的是:搜索并获取一个 (id,varchar) 数组,其中包含 varchar 字段上的 LIKE '%str%' 的所有匹配项。例如,如果我使用“hello”字符串进行搜索,那么我应该获得两个示例值及其各自的 id。这些 id 总是不同的,因为它们是对主键的引用。
我尝试过的:我尝试使用 UNION ALL,但在我的示例中它不适用于 LIMITS。
通过使用UNION
您可能会多次获得具有相同 ID 的行。使用怎么样LEFT JOIN
?
如果我理解你的问题:
SELECT table_zero.id, table_1.varchar_field, table_2.varchar_field
FROM table_zero
LEFT JOIN table_1 ON table_zero.id = table_1.id
LEFT JOIN table_2 ON table_zero.id = table_2.id
WHERE table_1.varchar_field LIKE '%str%'
OR table_2.varchar_field LIKE '%str%'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)