我正在运行查询
SELECT `transactions`.`transaction_id`,`transactions`.`from_user_id`,`transactions`.`to_user_id`,`transactions`.`amount`,`transactions`.`description`,`users`.`first_name`,`users`.`last_name`,`transactions`.*,`users`.`first_name`,`users`.`last_name`,`transactions`.*,`users`.`user_id`,`users`.`first_name`,`users`.`last_name`,`transactions`.*,`users`.`user_id`,`users`.`first_name`,`users`.`last_name` FROM transactions
LEFT JOIN `login`.`users` ON `transactions`.`to_user_id` = `users`.`user_id`
LEFT JOIN `login`.`users` ON `transactions`.`from_user_id` = `users`.`user_id`
当我尝试运行查询时,收到错误#1066 - Not unique table/alias: 'users'
。我试图获取一个交易清单,其中包含参与交易的两个用户的名字。
答案 0 :(得分:1)
如下:
SELECT t.*
, u1.user_id to_user_id
, u1.first_name to_first_name
, u1.last_name to_last_name
, u2.user_id from_user_id
, u2.first_name from_first_name
, u2.last_name from_last_name
FROM transactions t
LEFT
JOIN users u1
ON u1.user_id = t.to_user_id
LEFT
JOIN users u2
ON u2.user_id = t.from_user_id
请注意,名为amount
或balance
的列不太可能是FLOAT。见DECIMAL。