gpt4 book ai didi

mysql - 双表 SQL 查询需要帮助

转载 作者:行者123 更新时间:2023-11-29 11:29:51 28 4
gpt4 key购买 nike

我得到了两张包含以下数据的表格:

动物 table :
注册号
性别

血统表:
Ped_Registration_Number
姓名
Seri_Number

我需要编写一条sql语句,告诉我一头公牛的名字以及他生了多少头小母牛和多少头小母牛。

我不知道从哪里开始,也不知道这是否可以通过表格设置来完成。

“性别”列中的“B”代表公牛,“H”代表小母牛。 Sire_Number 告诉我们该动物的父亲(公牛)是谁。 Sire_Number 和 Registartion_Number 将相互关联。

最佳答案

您可以从此查询开始:

SELECT p.Name
FROM pedigree p
INNER JOIN animal a
ON a.Registration_Number = p.Ped_Registration_Number
AND a.Sex = 'B'

这将返回所有公牛的名字。

这是小母牛犊牛的数量部分:

SELECT p.Name,
COUNT(DISTINCT calves.Ped_Registration_Number) calves_number
FROM pedigree p
INNER JOIN animal a
ON a.Registration_Number = p.Ped_Registration_Number
AND a.Sex = 'B'
LEFT JOIN pedigree calves
ON p.Ped_Registration_Number = calves.Sire_Number
GROUP BY p.Ped_Registration_Number

最后一种方法:

SELECT p.Name,
SUM(IF(h_b.sex='B',1,0)) calves_b,
SUM(IF(h_b.sex='H',1,0)) calves_h,
FROM pedigree p
INNER JOIN animal a
ON a.Registration_Number = p.Ped_Registration_Number
AND a.Sex = 'B'
LEFT JOIN pedigree calves
ON p.Ped_Registration_Number = calves.Sire_Number
LEFT JOIN a h_b
ON calves.Ped_Registration_Number = h_b.Registration_Number
GROUP BY p.Ped_Registration_Number

关于mysql - 双表 SQL 查询需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37596368/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com