MySQL选择连接顺序

时间:2013-02-04 20:34:41

标签: mysql join

我有两张桌子:

tb_user包含以下字段: userIdlastNamefirstName和其他字段。

tb_application包含以下字段: ApplicationIDApplicantIDapplicationTypeapplicationStatusapplicationCycle和其他字段。

使用此语句,我获得ApplicationID排序的应用程序的记录集。

SELECT tb_application.ApplicationID, tb_application.ApplicantID, 
 tb_application.applicationType, tb_application.applicationCycle, 
 tb_application.applicationStatus 
WHERE applicationCycle = '10' and applicationType ='5' and and applicationStatus ='1' 
ORDER BY tb_application.ApplicationID

然后,我使用applications表中的字段ApplicantID从users表中检索名称。

但我需要的是按姓氏排序的应用程序列表。

在收到Raphael的回答后,感谢他的勤奋并向我介绍了MySQL中“JOIN”指令的强大功能,我修改了他的答案,对我有用的是:

SELECT * FROM tb_application 
    INNER JOIN tb_user ON tb_application.ApplicantID=tb_user.userId 
        WHERE applicationCycle = '10' 
        and applicationType='5' 
    and applicationStatus='1' 
        ORDER BY lastName

2 个答案:

答案 0 :(得分:2)

SELECT 
 --u.lastName, 
  tb_t.ApplicationID, 
  t.ApplicantID, 
  t.applicationType, 
  t.applicationCycle, 
  t.applicationStatus
FROM tb_application t
INNER JOIN tb_user u 
   ON t.ApplicantID = u.userId
WHERE 
 applicationCycle = '10' 
AND
 applicationType ='5' 
AND
 applicationStatus ='1' 
ORDER BY u.lastName

答案 1 :(得分:0)

您可以逗号分隔多个字段以进行排序,例如

ORDER BY tb_application.ApplicationID, tb_user.lastName

这意味着它将首先在tb_application.ApplicationID之后排序,并且在该范围内,它将在tb_user.lastName之后排序