回答

收藏

连接两个表的问题

技术问答 技术问答 251 人阅读 | 0 人回复 | 2023-09-12

我目前正在使用它C#编写应用程序,但在连接两个表时遇到了一些困难。为了让事情更清楚,这是我的表结构! m6 }1 Q+ B5 Q8 a; Z& O$ c
表1(员工名单)
3 G# ], H$ F0 d| EmployeeID | EmployeeName | ------------ -------------- |                                                              | John Smith   ||                                                                                                                                                                                                                                                                                                                                                                                                           | Ian Smosh    |表2(推荐名单)8 Q0 y! c7 d9 S- \* M; S1 t
| PersonalID | InviterID | InterviewerID |  ------------ ----------- --------------- |                                                              |                                 |                                                                 | |                                                                                                                                                                                                                                                                                                                                                                                                           |                                 |                                                                                                                                                                                                                                                                                                                                                                                                              |Datagridview上输出应为
9 y# m0 A0 O6 {| Employee Name | Invites | Interviews |  --------------- --------- ------------ | John Smith    | 2        |                                                                                                                                                                                                                                                                           | | Ian Smosh     | 0        |                                                                                                                                                                                                                                                                           |我可以同时得到邀请,但不能同时得到采访。我只能得到一个。
" _8 U$ i3 f. _6 G/ j这就是我得到的" o0 Y" T3 o) X$ ?- Y5 O
| Employee Name | Invites |  --------------- --------- |  John Smith   | 2       | |  Ian Smosh    | 0        |这是我的代码:# G# \; d1 ^3 b. s: Q
SELECT Table1.RecruiterName AS Name,    COUNT(Table2.InviterID) AS Invites,    COUNT(Table2.InterviewID) AS Interviews FROM Table2 LEFT JOIN Table1 ON Table2.InviterID = Table1.EmployeeID     AND Table2.InterviewerID = Table1.InviterID GROUP BY EmployeeName那里的人知道我的代码有什么问题吗?* H; `/ M; E" e. W' x6 n
更新:我尽量让它更好,但我一直在# i) A1 P* Y( [' {$ G! o
| Employee Name | Invites | Interviews |  --------------- --------- ------------ | John Smith    | 2       |      2        | | Ian Smosh     | 0        |                                                                                                                                                                                                                                                                           |John Smith只有两个邀请和一次面试。这是我目前的代码. A! i& h7 ~2 n: Z# w9 O6 k
SELECT Recruiters.RecruiterName AS Name,COUNT(Source.SourceID) AS Source,COUNT(Interview.InterviewID) AS Interview FROM Recruiters LEFT JOIN Hires Source ON Source.SourceID=Recruiters.RecruiterID LEFT JOIN Hires Interview ON Interview.InterviewID=Recruiters.RecruiterIDGROUP BY RecruiterName为什么约翰·史密斯在采访中得到的金额是不正确的,但伊恩·斯莫什(Ian Smosh)是正确的。
3 y* o0 [: E5 P9 b- G, q$ [                                                               
# Z4 E/ o7 w% Z. M) |0 J    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则