我的查询是否遵循正确的格式?我找不到任何使用LIKE和ON的例子,所以我不确定我的查询是否是问题。寻找任何建议或反馈:
SELECT *
FROM table_1 a
LEFT JOIN table_sql ON a.case_id LIKE '%45305%'
答案 0 :(得分:3)
这是不正确的,您需要指定要用于JOIN的列,但是您可以执行类似这样的操作
SELECT * from table_1 AS a
LEFT JOIN table_sql AS b
ON a.case_id = b.id
WHERE
a.case_id LIKE '%45305%'
答案 1 :(得分:1)
由于您想使用LIKE
代替=
,这是您想要的吗?
SELECT * FROM table_1 a
LEFT JOIN table_sql ON
a.case_id LIKE CONCAT('%', table_sql.case_id, '%')
另见#4420554
答案 2 :(得分:1)
您可以在联接中使用LIKE,但听起来您真正想要的是UNION:
SELECT case_id
FROM table_1 a
WHERE a.case_id LIKE '%45305%'
UNION
SELECT case_id
FROM table_sql s
WHERE s.case_id LIKE '%45305%'
如果您需要跟踪结果来自哪个表,您可以执行以下操作:
SELECT 'table_a' AS what_table, case_id
FROM table_1 a
WHERE a.case_id LIKE '%45305%'
UNION
SELECT 'table_b', case_id
FROM table_sql s
WHERE s.case_id LIKE '%45305%'
答案 3 :(得分:0)
使用CONCAT()
尝试此操作。当我选择全表数据时,它对我有帮助:
SELECT p.post_name,p.post_title,p.post_type,cl.*
FROM ".$wpdb->posts." AS p
LEFT JOIN clicks AS cl
ON cl.podcast_url LIKE CONCAT('%',p.post_name,'%')
WHERE p.post_type = 'team'