我有
首先:
select url from urls where site = '$value' order by url
第二个:
select id, widget_name from widgets where display_urls LIKE 'urls.url' and is_father=1 order by id
第三:
select id, widget_name from widgets where display_urls RLIKE 'urls.url' and is_father=0 order by id
第四:
select id, widget_name, father_widget from widgets where father_widget = 'widgets.id' order by id
第四个查询只能从第二个查询中获取 widgets.id 第二个和第三个查询从第一个查询中获取 urls.url 的值
如何使用左连接将所有这些写在一个 mysql 查询中?
预先感谢您的回答:)
最佳答案
SELECT w.id, w.widget_name, c.*
FROM urls
JOIN widgets w
ON w.display_urls LIKE urls.url
OR w.display_urls RLIKE urls.url
LEFT JOIN
widgets с
ON c.father_widget = w.id
AND w.display_urls LIKE urls.url
AND w.display_urls NOT RLIKE urls.url
WHERE site = $value
ORDER BY
url
这将只为那些 LIKE
但也不 RLIKE
相应 url
的小部件选择子级。
关于mysql left join,这样的query怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125065/