gpt4 book ai didi

php - Inner Join limit 左表结果限制为 1

转载 作者:行者123 更新时间:2023-11-29 04:43:40 25 4
gpt4 key购买 nike

我有两张 table 。一个是学生,一个是成绩。现在 studetnt 表中的学生 ID 是唯一的,但一个学生在结果表中可以有多个行。

我想连接两个表并为每个学生生成一个结果行。该行将包含学生的信息(姓名、图像等)和最近的 学生成绩。

我已应用内部联接来实现此目的,但我在结果表中为每个条目获取了单独的行。如果我应用限制 1,它会给我结果,只有一个学生的数据,而不是每个学生的数据。

这里是查询:

SELECT students.id,
students.roll_num,
students.first_name,
students.middle_name,
students.last_name,
students.course,
students.photo_url,
results.parano,
results.grade
FROM students
RIGHT JOIN results ON results.std_id=students.id

这是我得到的结果:

enter image description here

最佳答案

recent student result is a key. This will complicate query...

SELECT
st.id,
st.roll_num,
st.first_name,
st.middle_name,
st.last_name,
st.course,
st.photo_url,
rs1.parano,
rs2.grade
FROM students st, results rs1, results rs2
WHERE rs1.std_id=st.id AND rs2.std_id=st.id
GROUP BY st.id
HAVING
count(rs1.parano) =
(SELECT count(rs.parano)
FROM results rs
WHERE rs.std_id=st.id
ORDER BY count(rs.parano)
LIMIT 1)
AND count(rs2.grade) = (
SELECT count(rs.grade)
FROM results rs
WHERE rs.std_id=st.id
ORDER BY count(rs.grade)
LIMIT 1)

关于php - Inner Join limit 左表结果限制为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23166754/

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