如果相应的表有记录,我想从一个表中获取记录。
我正在使用此查询。
SELECT `category_name`, `id` as cat_id FROM categories WHERE (SELECT count(id)> 0 FROM `articles` where `category_id` = cat_id) ORDER by `category_name` ASC
抛出错误 unknow cat_id
任何想法。怎么做
Thankse
答案 0 :(得分:1)
内部联接可以做到这一点
select
c.category_name,
c.id as cat_id FROM categories c
join articles a on a.category_id = c.id
order by c.category_name
对于性能,请确保将连接键编入索引
我建议有一些东西
alter table categories add index id_idx(id);
alter table categories add index category_name_idx(category_name);
alter table articles add index category_id_idx(category_id)