sql识别名字和姓氏,即分配给哪个公司的任务

ki1q1bka  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(293)

我有3个表,对sql来说是新的,我正在尝试将2个表(用户和任务)合并到公司或一个新表中。我需要的可能是将companies表下的taskid和userid替换为users任务和表中的taskid和userid,但是我得到一个错误

SELECT COMPANY.UserID, COMPANY.TaskID, (FirstName+' '+LastName) AS FullName, TASKS.TaskSubject, USERS.UserID
FROM USERS, TASKS, COMPANY
INNER JOIN COMPANY.UserID = USERS.UserID
INNER JOIN COMPANY.TaskID = TASKS.TaskSubject
USERS:

UserID  FirstName   LastName 
1         John      Green 
2         Graham    Dale-Jones 
3         Francois  Peters 
4         Danika    Snow 
5         Jennifer  Booth 
6         Erin      Harvey 
7         Caleb     Jackson

TASKS:

TaskID TaskSubject     TaskManager
101      Install
102      Upgrade
103      Troubleshoot
104      Assign

COMPANY:

CompanyID TasksID UserID
1          101     1
1          101     2
2          102     2
3          103     3
4          103     4
5          104     7

谢谢你的帮助

0wi1tuuw

0wi1tuuw1#

尝试以下方法,你首先需要学会如何加入。您使用的是隐式连接(在where上),这不是最佳实践,相反,您应该始终使用显式连接。

SELECT 
    c.UserID, 
    c.TaskID, 
    concat(FirstName, ' ' ,LastName) AS FullName, 
    t.TaskSubject, 
    u.UserID
FROM users u
INNER JOIN company c
on c.UserID = u.UserID
INNER JOIN tasks t
on c.TaskID = t.TaskId

这是演示。

相关问题