Mar*_*wer 10 mysql union select database-table
我有什么:下一个结构:
table_zero
- > id (带自动增量的PRIMARY)
- >其他
table_1
- > id (表零id的外键)
- > varchar(80)示例值:(aahellobbb)
- > one_field
table_2
- > id (表零id的外键)
- > varchar(160)示例值:(aaececehellobbb)
- > other_field
我想要的:搜索并获取一个(id,varchar)数组,其中包含与varchar字段上的LIKE'%str%'的所有匹配项.例如,如果我使用"hello"字符串进行搜索...我应该使用各自的id获取两个示例值.这些ID总是不同的,因为它们是对PRIMARY KEY的引用.
我尝试了什么:我尝试使用UNION ALL,但在我的例子中它不适用于LIMITS.
Fro*_*y Z 13
通过使用,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%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61919 次 |
| 最近记录: |