select A.cata_id cata_id,A.table_name_cn table_name_cn, A.table_name_en table_name_en,C.is_public is_public,C.title title
from data_catalog_meta A,data_catalog_group_link B,data_catalog C
where A.cata_id = B.cata_id = C.cata_id group by A.table_name_en
出错: 多表联查时 条件 需要 分开写,where A.cata_id = B.cata_id and B.cata_id= C.cata_id
此外:
连表查询 去重之后的 总条数 不能直接用count 因为group by的原因,使得 分别查出分组后的各个组的条数
可以使用临时表查询
但是要注意 ,临时表必须要有个别名 (Every derived table must have its own alias),即as
select count(cata_id) FROM (
select A.cata_id cata_id
from data_catalog_meta A,data_catalog_group_link B,data_catalog C
where A.cata_id = B.cata_id = C.cata_id
group by A.table_name_en
) as total;
本文探讨了SQL中多表联查时常见错误及其修正方法,并介绍了如何正确进行去重计数,避免使用group by导致的问题。此外,还提供了一种利用临时表进行查询的有效方式。
1741

被折叠的 条评论
为什么被折叠?



