2
我有两个表,一个包含所有用户数据,另一个包含一些命令。 订单总是针对一个用户,但是由另一个用户订购(用户不能为他自己订购)MYSQL:连接多个表 - 用用户名替换多个用户ID
在订单表中,编辑器和用户只存储其id与用户表相对应。
这里的缩写表:
`orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL,
`editor_id` int(10) NOT NULL,
`reason` char(200) COLLATE utf8_unicode_ci NOT NULL,
`amount` decimal(10,2) NOT NULL
)
`users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`name` char(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`password` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`email` varchar(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
)
我想查询订单之一,并获得与USER_NAME取代USER_ID和editor_id也置换成从用户表中的正确名称。 这是查询结果的外观正常订单,如:
[0] => Array
(
[id] => 714
[user_id] => 97
[editor_id] => 45
[reason] => Ausgaben Regale 28.09.13
[amount] => 150.00
)
,这就是我想要的:
[0] => Array
(
[id] => 714
[user_id] => 97
[editor_id] => 45
[user_name] => the user name
[editor_name] => the editor name
[reason] => Ausgaben Regale 28.09.13
[amount] => 150.00
)
我尝试了许多不同的连接,但都没有成功,很想得到提示指向我正确的方向。
你可以把使用加入查询之一,你已经尝试过?您需要两次将'orders'连接到'users' - 一次用于userid,一次用于编辑器ID – InSane