gpt4 book ai didi

sql - 每个 worker 的最大日期

转载 作者:行者123 更新时间:2023-12-04 06:27:48 25 4
gpt4 key购买 nike

考虑两个表。 Worker 表具有类似 W_ID, W_Name 的字段.类(class)表具有类似 C_ID, C_Name, C_Date 的字段.

一个 worker 可以参加许多类(class),而一门类(class)可以由许多 worker 参加。因此,两个表之间存在多对多关系。打破多对多,创建一个名为 Takes 的新表,它由外键 W_ID 和 C_ID 组成。

问题是:我想找出所有 worker 的 list 以及他们上次参加的类(class)。例如,如果 W_ID=1 取 C_Date 20/01/2010 和 C_Date 25/10/2010 和 C_Date 20/12/2010。

那么所需的结果是:

W_ID     C_Date
1 20/12/2010
2
3
4

编辑

我想找到每个 worker 完成的类(class)的最大日期,因为 worker 会完成许多类(class)。我是商科学生,所以我不能使用 INNER JOIN 命令。可以用IN代替吗?

我在 Microsoft Access 中使用我的 SQL

最佳答案

SELECT  w.w_id, MAX(c.c_date)
FROM worker w
LEFT JOIN
worker_course wc
ON wc.w_id = w.w_id
LEFT JOIN
course с
ON c.c_id = wc.c_id
GROUP BY
w.w_id

或这个:
SELECT  w.w_id, MAX(c.c_date)
FROM course с
JOIN worker_course wc
ON wc.c_id = c.c_id
RIGHT JOIN
worker w
ON w.w_id = wc.w_id
GROUP BY
w.w_id

关于sql - 每个 worker 的最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5820042/

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