[英]Get the last records from 3 tables
$sql="SELECT *
FROM addresses
LEFT JOIN users ON address_id = user_id
LEFT JOIN notes ON note_id = user_id
ORDER BY id DESC
LIMIT 1";
这是我的SQL查询,我的任务是显示3个表中的最后一条记录,但是该表是空白的,我不知道为什么,谢谢大家:)
我猜问题出在ORDER BY id DESC
。 实际上,您没有所谓的id列。 您可能应该删除此子句,以使代码正常工作。
如果您仍然想获取最后一条记录,则可以放置ORDER BY address_id DESC
来完成任务!
直接编辑代码:
$sql="SELECT *
FROM addresses
LEFT JOIN users ON address_id = user_id
LEFT JOIN notes ON note_id = user_id
ORDER BY adress_id DESC
LIMIT 1";
这可能起作用:
SELECT a.address_id, u.user_id, n.note_id
FROM addresses a
LEFT JOIN users_addresses ua ON ua.ua_address_id = a.address_id
LEFT JOIN users u ON u.user_id = ua.ua_user_id
LEFT JOIN notes n ON n.note_user_id = u.user_id
ORDER BY a.address_id DESC
LIMIT 1
这是从所有表中获取所有数据的查询,不确定您的意思是从3个表中获取最后一条记录,我在那里可以看到四个表:
SELECT *
FROM `addresses`
LEFT JOIN `users_addresses` ON `users_addresses`.`ua_address_id` = `addresses`.`address_id`
LEFT JOIN `users` ON `users`.`user_id` = `users_addresses`.`ua_user_id`
LEFT JOIN `notes` ON `notes`.`note_user_id` = `users`.`user_id`;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.