用于从4个不同表中获取数据的SQL查询

用于从4个不同表中获取数据的SQL查询,sql,mysql-5.5,Sql,Mysql 5.5,我有四个表,我需要从一个带有where条件的表中获取数据,并且输出包含来自三个不同表的ID,使用这些ID需要获取它们的名称 Company: CompanyID - PK CompanyName CompanyDescription Users: UserID - PK FirstName LastName Email TaskDetails: TaskID - PK CompanyID - FK of Company.CompanyID TaskStatus: TaskStatusID

我有四个表,我需要从一个带有where条件的表中获取数据,并且输出包含来自三个不同表的ID,使用这些ID需要获取它们的名称

Company:
CompanyID - PK
CompanyName
CompanyDescription

Users:
UserID - PK
FirstName
LastName
Email

TaskDetails:
TaskID - PK
CompanyID - FK of Company.CompanyID

TaskStatus:
TaskStatusID - PK
TaskID - FK of TaskDetails.TaskID
Status
Details
CreatedBy - FK of Users.UserID
UpdatedBy - FK of Users.UserID
CreatedAt
UpdatedAt
需要查询才能返回以下内容:


公司名称、电子邮件、状态、详细信息、CreatedAt、UpdatedAt以及TaskStatus表TaskStatus.UpdatedBy上的where条件=1和TaskStatus.UpdatedAt>'2013-08-01'和TaskStatus.status='COMPLETED'

MySQL文档中的连接语法:@Phil/@RFL请检查下面的查询是否正确<代码>选择CM.CompanyName作为CompanyName,选择U.Email作为用户,选择TS.Status作为Status,选择TS.Comments作为Comments,选择TS.CreateDate作为CreateDate,TS.UpdateDate作为UpdateDate从TaskStatus作为TS LEFT JOIN TaskDetails作为TD上的TD.TaskID=TS.TaskID作为CM上的CM离开加入公司CM.CloudID=TD.CloudID作为U上的U离开加入用户U.UserID=TS.UpdatedBy其中TS.CreateDate>'2013-08-01'和TS.UpdatedBy=1和TS.Status='COMPLETED'组,通过CM.CompanyName,U.电子邮件发送
Select CM.CompanyName as CompanyName, U.Email as User, TS.Status as Status, TS.Comments as Comments, TS.CreateDate as CreateDate, TS.UpdateDate as UpdateDate
FROM 
 TaskStatus as TS
 LEFT JOIN TaskDetails as TD ON TD.TaskID = TS.TaskID
 LEFT JOIN Company as CM on CM.CloudID = TD.CloudID
 LEFT JOIN Users as U on U.UserID = TS.UpdatedBy
WHERE
 TS.CreateDate>'2013-08-01' and TS.UpdatedBy!=1 and TS.Status='COMPLETED'
GROUP by CM.CompanyName, U.Email;