php - 如何内部连接 2 个 SQL 表,但只从第二个表中获取第一个结果?
问题描述
我正在建立一个页面,您可以在其中租用公寓和东西,每个公寓都有很多图片,所以我制作了 2 张桌子。一个包含所有公寓,一个包含所有图像,我使用外键连接到特定公寓。我想要所有的公寓,但我只想要每间公寓的 1 张图片。
我试图做 LIMIT 1,但它也将公寓限制为 1。
这是我的代码:
$sql = "SELECT bolig_boliger.id AS bolig_id, titel, areal, rooms,
indflytning, husleje, image
FROM bolig_boliger
INNER JOIN bolig_images ON bolig_boliger.id = bolig_images.bolig_id";
解决方案
一种简单的方法是相关子查询。当然,你还没有展示表格的布局,所以我不得不推测一下哪些列在哪里以及如何识别最新的行。一个合理的猜测是:
SELECT b.id AS bolig_id, titel, areal, rooms, indflytning, husleje, image
FROM bolig_boliger b INNER JOIN
bolig_images i
ON b.id = i.bolig_id
WHERE i.id = (SELECT MAX(i2.id) FROM bolig_images i2 WHERE i2.bolig_id = i.bolig_id)
推荐阅读
- python-3.x - Python中的while循环永远循环
- python - 尝试在 jupyter notebook 中使用 tensorflow 时出错
- azure - 如何通过 Azure Logic App 和 Outlook 发送 html 电子邮件
- c# - 为什么 AutoMapper 将整数字段映射到对象?
- python - Django Rest Framework - 在 POST 上创建外键对象
- javascript - 如何在不填充磁盘的情况下测试 IndexedDB 'QuotaExceededError'?
- python - Cmd + z 不会关闭python
- python - 张量流中的可微直方图
- javascript - 两个 Javascript 脚本不能一起运行(Snow.js 和 Countdown.js)
- java - 数据从内存数据库中自动删除