我有以下表格:
CREATE TABLE `orders` (
`ID` varchar(5) NOT NULL,
`IDUserProfile` int(11),
`IDRestaurant` int(11),
`Date` int(11),
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
CREATE TABLE `userprofiles` (
`ID` int(11) NOT NULL auto_increment,
`IDUser` int(11) NOT NULL,
`Name` varchar(64),
`Phone` varchar(64),
`Address` varchar(255),
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE `users` (
`ID` int(11) NOT NULL auto_increment,
`Username` varchar(64) NOT NULL,
`Password` varchar(33) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
我需要做以下事情:
显示表格订单中的所有记录 显示UserPhone 显示用户名 根据日期(来自订单)订购结果
如果没有Username与订单链接,我应该在结果中显示null。与电话相同。 我想在没有嵌套查询的情况下这样做......
任何帮助将不胜感激。
答案 0 :(得分:0)
select o.*,
up.Phone,
u.Username
from orders o
left outer join userprofiles up on o.IDUserProfile = up.ID
left outer join users u on up.IDUser = u.ID
order by o.Date