繁体   English   中英

从3个表中获取最新记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM