-1

私は次のテーブルを持っています:

   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

私は次のことをする必要があります:

テーブルオーダーですべてのレコードを表示するユーザー電話を表示するにはユーザー名を表示するには日付に基づいて結果を注文するには(注文から)

注文にリンクされているユーザー名がない場合は、結果にnullを表示する必要があります。電話も同じです。ネストされたクエリなしで実行したい...

どんな助けでもありがたいです。

4

1 に答える 1

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
于 2012-04-19T17:21:11.073 に答える