mysql - 获取多连接中的行数

标签 mysql sql select join group-by

我有4张 table

1) comp_login

id          com_name                            co_logo           
------  ----------------------------------  ------------------
 1  UNFAN                               default_logo.png  
 2  T&P                                 default_logo.png  
 3  Elliot                              default_logo.png  
 117  walkin                              default_logo.png  
118  12 starShipping Management          default_logo.png  
119  ABS Marine                          default_logo.png  
120  Accord Marine Management            default_logo.png  
121  Admiral Marine                      default_logo.png  
122  AET                                 default_logo.png  
123  Air Borne Rec.Pvt.Ltd.              default_logo.png  
125  Apex Marine                         default_logo.png  

2)m_medicine

 Med_Id  G_Name                                B_Name                                                      
------  -------------------------------  ---------------------
   1  Acetylsalicylic acid                  Aspirin, aspro                                                     
   2  Aciclovir                             Zovirax, acyclovir                                                 
   3  Amoxicillin + clavulanate             Augmentin, co-amoxcylav                                            
   4  Artemether + Lumifantrine             Riamet                                                             
   5  Azithromycin                          Zithromax                                                          
   6  Cetirizine                            Zyrtec                                                             
   7  Ciprofloxacin                         Ciproxin , Cipro                                                   
   8  Dizepam                               Valium                                                             
   9  Docusate with senna (for equivalent)  Coloxi                                                             
  10  Doxycyline                            Neo-Dagracyline, Unodox, 

3)m_shipinv

    Id   MedId  ShipId  
------  ------  --------
 1       1      2918
 4       2      2918
 5       3      2918
 6       4      2918
 7       5      2918
 9       6      2918
10       7      2918
11       8      3095           

4)tbl_vesselmaster

    id   co_id  vessel_name                
------  ------  ---------------------------
 2918     123  Sima Sadaf   
 2930     123  Aegean Odyassey            
 2925     123  Apj Jad                    
 2923     123  Astor                      
 2924     123  Astro                      
 2941     123  Discovery                  
 2937     123  Disney  Fantasy            
 2919     123  Disney Cruise              
 2940     123  Disney Dream               
 2933     123  Disney Magic               
 2934     123  Disney Wonder 
 3095     125  sdare     

我希望它只显示公司拥有的船只...我只想显示 Sima sadaf...因为一家公司有很多船只,而 sima sadaf 是 company_id 123 的船只。所以只有那些船只应显示公司拥有。 vessel sdare 不应该显示,因为它不是公司的一部分

Vessel_ID   Vessel_Name   Total_Medicine
----------   ----------   ----------------
 2918         Sima Sadaf        7

最佳答案

下面应该可以帮助您入门。我在查询中没有看到药名的相关性。我还假设 comp_login id 对应于容器 id。我不确定它在模式中还有什么关系。下面是一个很好的查询起点。

SELECT
    vs.vessel_id,
    vs.vessel_name,
    COUNT(m.id)
FROM
    `t_vesselmaster` vs
    INNER JOIN `m_shipinv` m
        ON vs.id = m.ShipId
    INNER JOIN `comp_login` cl
        ON vs.id = cl.id
GROUP BY vs.vessel_id, vs.vessel_name

关于mysql - 获取多连接中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27311592/

相关文章:

mysql - SQL "LIKE"查询找不到我所知道的内容

mysql - 需要 OR 查询帮助

sql - 为结果表提供列名

c - FD_ISSET 总是返回 false

mysql - 返回所有父表行,但对于与 MYSQL 的 WHERE 子句不匹配的子表行返回 null

php日期格式

php - 仅在 MySQL 表中不存在数据时才插入数据 : trouble with INSERT IGNORE

sql - 在不到 1 小时前创建通知的同一端点上查找没有通知和先前没有响应的响应

php - mysql下发一个 'Can' t初始化字符集utf-8(路径:/usr/share/mysql/charsets/)' error,那里没有utf8.xml文件

sql - SQL分组依据用户定义函数的输出