在我的网站上,我想实现一个live data search
。我有两个表table_a
和table_b
。
table_a
包含主要数据,table_b
包含从table_a
引用的子数据。
我得到了结果。但是联接会使table_b
数据变得重要。
我想将数据作为
1。如果table_a
具有特定结果,请使用相应的table_b
数据显示该结果。
table_a
没有值,则显示table_b
数据(如果有) 我现在正在执行的查询是
SELECT
a.aname,
b.bname
FROM
table_a AS a
JOIN table_b AS b ON b.a_id_fk = a.a_id
WHERE
(a.a_name LIKE '%a%' OR b.b_name LIKE '%a%')
我知道这不会根据我的需要得出结果。
有没有办法用单个查询执行此操作?
任何帮助将不胜感激..谢谢大家。
答案 0 :(得分:0)
如果table_a没有该值,则显示table_b数据(如果有)
如果我理解正确
SELECT
case when a_id is null then b.bname else a.aname end as name,
FROM
table_b AS b left join table_a AS a
ON b.a_id_fk = a.a_id
WHERE
(a.a_name LIKE '%a%' OR b.b_name LIKE '%a%')