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

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

概述我们正在构建一个调度程序系统,并且在几种情况下我们试图从表中获取一些注释以进行显示.我们已经查看了其他答案,但似乎没有一个与这个问题完全匹配.预订表包含对客户注释(如果存在)和造型师注释(如果存在)的数字引用.notes表包含客户和造型师注释,每个注释均由唯一的数字索引索引当我们只想阅读客户说明时,我们就可以使用查询了:SELECT bookings.boo

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

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

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_noteFROM bookings left JOIN clIEntDetails ON bookings.clIEntID = clIEntDetails.clIEntIDleft JOIN services ON bookings.serviceID = services.serviceIDleft JOIN notes ON bookings.clIEntNotes = notes.notesIDWHERE 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_noteFROM ...left JOIN notes styListnotes ON bookings.styListNotes = styListnotes.notesID
总结

以上是内存溢出为你收集整理的mysql-如何在同一查询中两次联接1个表并将结果分开 全部内容,希望文章能够帮你解决mysql-如何在同一查询中两次联接1个表并将结果分开 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存