2010-04-23 103 views
3

我們正在構建一個調度程序系統,並且有幾種情況,我們試圖從表中獲取一些備註以顯示。我們已經看過其他答案,而且沒有一個看起來完全符合這個問題。如何在同一查詢中連接兩個表並將結果分開

預訂表包含客戶註釋(如果存在)和設計師註釋(如果存在)的數字引用。

該票據表保存客戶和設計師筆記,每個都由一個唯一的數字索引收錄

我們有我們的查詢工作的時候,我們只是想在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中訪問結果數組中的cient筆記,如下所示:$ results_array ['note']

我們也希望能夠做的是獲得該預訂的設計師筆記,像$ results_array ['stylist_note']。

我們怎樣才能再次加入備註表使用此時間:

LEFT JOIN notes ON bookings.stylistNotes = notes.notesID 

但要能夠從notes客戶端分別引用這些設計師的筆記。

非常感謝您的幫助。

回答

3

你應該能夠別名表和列:

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

謝謝你 - 這解決了問題我們!我會評價你,但我還不能做到這一點。 – direct00 2010-04-23 18:59:47

相關問題