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;' –
我目前只收到乐器的记录如果有意义的话,他们已经有日期值了。 –