繁体   English   中英

从4个不同的SQL表中选择计数语句

[英]Select count statement from 4 different sql tables

我有以下结构的4个表:

**FiltersMain**
FilterMain_ID
FilterMain_Name_GR
FilterMain_Name_EN

**FiltersSub**
FilterSub_ID
FilterMain_ID
FilterSub_Name_GR
FilterSub_Name_EN

**cm**
cm_ID
product_id
Cat_Main_ID


**Filtra**
f_Id
product_id
FilterMain_ID
FilterSub_ID

我目前唯一已知的东西如下:

FiltersMain表的FilterMain_ID (为555)

cm表的Cat_Main_ID (即222)

我想使用以下条件对Filtra表BUT中的记录总数进行计数(使用select count方法):

具有FiltersMain表的已知FilterMain_ID (为555)和cm表的已知Cat_Main_ID (为222)。

我已经尝试过以下选择计数语句,但结果完全错误。

SELECT COUNT(*) AS total_records

FROM

FiltersMain,
FiltersSub,
Filtra,
cm

WHERE

FiltersMain.FilterMain_ID = FiltersSub.FilterMain_ID
Filtra.FilterMain_ID = FiltersMain.FilterMain_ID
cm.Cat_Main_ID = 222
cm.product_id = Filtra.product_id

此刻我很困惑,所以任何帮助都将不胜感激

可能这就是您要寻找的东西?

SELECT COUNT(fa.f_Id) AS total_records
FROM Filtra fa
LEFT JOIN FiltersMain fm ON fm.FilterMain_ID = fa.FilterMain_ID
LEFT JOIN FiltersSub fs ON fs.FilterSub_ID = fa.FilterSub_ID
LEFT JOIN cm c ON c.product_id = fa.product_id AND c.Cat_Main_ID = 222
select
(Select Count(*) as FiltersMainCount from FiltersMain where 
FilterMain_ID='555') as FiltersMainCount 
(Select Count(*) as FiltersSubCount from FiltersSub where 
FilterMain_ID='555') as FiltersSubCount   
(Select Count(*) as cmCount from cm where Cat_Main_ID='222') as cmCount
(Select Count(*) as FiltraCount from Filtra where FilterMain_ID='555') as 
FiltraCount 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM