0
我遇到了SQL問題。我目前正在開發一個網站,該網站內置了一個吉他調音器。用戶被允許創建樂器並存儲關於他們的調音的信息。問題在於,如果用戶創建了新的樂器,那麼會有表格向他們展示他們在網站上創建的樂器。但是,只有經過調諧記錄後,樂器纔會出現。當max()不存在時,將MYSQL中的max()設置爲null
這是SQL存儲過程的問題。我把表格中的調音日期設置爲最大意義,如果樂器沒有調諧過,它將不會顯示出來。 日期在MYSQL中設置爲DATETIME
存儲過程如下所示。
CREATE DEFINER=`root`@`localhost` PROCEDURE `selectallinstruments`()
BEGIN
SELECT b.Username, a.Name, a.Type, a.ID, max(c.Date) as lasttuned
FROM instruments a, Users b, instrumenttuner c
WHERE a.Users_ID = b.ID and c.Instrument_ID = a.ID
group by a.ID order by b.ID asc, a.ID asc;
END
有沒有一種方法,使在此情況下等於空lasttuned當存在對儀器沒有記錄,因此該表將打印用儀器創建儀器時連接到它沒有最新紀錄。
是什麼,你得到目前 –
結果'選擇b.Username,a.Name,a.Type,a.ID, MAX(c.Date)作爲lasttuned FROM文書 用戶加入b。在一.Users_ID = b.ID left join instrumenttuner c ON c.Instrument_ID = a.ID group by a.ID order by b.ID asc,a.ID asc;' –
我目前只收到樂器的記錄如果有意義的話,他們已經有日期值了。 –