加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门站长网 (https://www.0592zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql-如何在同一查询中两次联接1个表并将结果分开

发布时间:2021-02-06 13:11:03 所属栏目:MySql教程 来源:网络整理
导读:我们正在构建一个调度程序系统,并且在几种情况下我们试图从表中获取一些注释以进行显示.我们已经查看了其他答案,但似乎没有一个与这个问题完全匹配. 预订表包含对客户注释(如果存在)和造型师注释(如果存在)的数字引用. notes表包含客户和造型师注释,每个注

我们正在构建一个调度程序系统,并且在几种情况下我们试图从表中获取一些注释以进行显示.我们已经查看了其他答案,但似乎没有一个与这个问题完全匹配.

预订表包含对客户注释(如果存在)和造型师注释(如果存在)的数字引用.

notes表包含客户和造型师注释,每个注释均由唯一的数字索引索引

当我们只想阅读客户说明时,我们就可以使用查询了:

SELECT bookings.bookingID,UNIX_TIMESTAMP(bookings.startDate) AS start_date,UNIX_TIMESTAMP(bookings.endDate) as end_date,clientDetails.firstName,clientDetails.lastName,clientDetails.phone1,clientDetails.phone2,clientDetails.email,services.name,services.serviceID,cNotes.note as client_notes,sNotes.note as stylist_note
FROM bookings 
LEFT JOIN clientDetails ON bookings.clientID = clientDetails.clientID
LEFT JOIN services ON bookings.serviceID = services.serviceID
LEFT JOIN notes ON bookings.clientNotes = notes.notesID
WHERE bookings.startDate >= '" . $start_date . "' AND  bookings.endDate <= '" . $end_date . "' AND bookings.stylistID = '" . $stylist_id . "'
ORDER BY bookings.startDate ASC;

使用此逻辑,我们可以简单地从php中的结果数组访问科学笔记:$results_array [‘note’]

我们还希望能够做的就是获得该预订的造型师注释,例如$results_array [‘stylist_note’].

这次我们如何使用以下方法再次加入注释表:

LEFT JOIN notes ON bookings.stylistNotes = notes.notesID

但是能够独立于客户注释而参考这些造型师注释.

非常感谢您的协助.

最佳答案 您应该能够为表和列添加别名:

SELECT ...,stylistnotes.note AS stylist_note
FROM ...
LEFT JOIN notes stylistnotes ON bookings.stylistNotes = stylistnotes.notesID

(编辑:厦门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读