当前位置: 首页 > 面试题库 >

内连3桌

夹谷斌蔚
2023-03-14
问题内容

我正在使用PHP和PDO,我需要重新识别连接3个表的信息:

  • photos
  • albums
  • album_photos

该表具有以下结构:

相片:

photo_id  (int)
path      (varchar)
nick      (varchar)
date      (timestamp)

专辑

album_id   (int)
album_name (varchar)
nick       (varchar)
date       (timestamp)

album_photos

album_id (int)
photo_id (int)
nick     (varchar)
date     (timestamp)

因此,我想显示所有相册,每张相册最多包含5张照片, 用户昵称是“所有者”

如下所示:

album_name_1:
[photo_1]
[photo_2]
[photo_3]
[photo_4]
[photo_5]

album_name_2:
[photo_1]
[photo_2]
[photo_3]
[photo_4]
[photo_5]

我只知道可以使用INNER JOIN来制作类似的东西,但是我找不到如何用3个桌子来制作它。

有例子或其他帮助我可以做到这一点吗?


问题答案:

SELECT a., c.date
FROM Album a
INNER JOIN Album_Photo b
ON a.Album_ID = b.Album_ID
INNER JOIN Photo c
ON b.Photo_ID = c.Photo_ID
WHERE c.Nick = ‘owner’ AND
(
SELECT COUNT(


)
FROM album_photo d
WHERE b.album_id = d.album_id AND
d.nick = ‘owner’ AND
b.date >= d.date
) <= 2 // <<== change this value to 5

  • SQLFiddle演示


 类似资料:
  • 我试图在一个视图中加入3个表;情况是这样的: 我有一张表格,里面有申请住在这所大学校园的学生的信息。我有另一个表,列出了每个学生的霍尔偏好(其中3个)。但是这些首选项中的每一个仅仅是一个ID号,而该ID号在第三个表中有一个对应的Hall名称(没有设计这个数据库……)。 基本上,我在表上有和它们的首选项以及它们的信息,结果类似于... 其中将是。所以现在我要将与第三个表匹配,其中该表包含和。 所以,

  • 我使用Java(网豆软件)做一些项目,并链接到微软访问。 当我需要从Microsoft Access将三个表内部连接在一起时, 我没有问题将2个表内部连接在一起 我能得到结果。但不是3个表内连接。 对于上面的SQL,我有3个“A”表分别用于< code >用户| CPU |软件| 我得到的错误< code>java.sql.SQLException:在end SQL语句后找到字符 谢啦

  • 问题内容: 我想通过内部联接从更多表中选择数据。 这些是我的桌子。 我想写一份声明,显示学生去过哪个考试,年级和日期。日期后排序。 这是我的声明。它可以运行,但是我想确保自己做的正确。 问题答案: 几乎正确..查看联接,您引用的字段错误

  • Web 是用来在互联网上分享文档的,HTML 是编写Web页面文档的语言。 最早的时候,HTML文档只包含 文本 内容,随着网络和浏览器技术的进步,现在内容变得非常丰富,包括 表格、图片、交互式表单等。

  • 1. 内存管理 2. 引用计数 3. 总结 脚本语言与编译型语言最根本的区别可能就在内存管理上。但这并不限于脚本语言,现在越来越多的语言不再允许用户直接操作内存,而由虚拟机来代替用户负责内存的分配及回收,如C#、Java、PHP等。

  • 主要内容:MariaDB INNER JOIN在MariaDB数据库中,连接用于从多个表中检索数据。当有两个或两个以上的表时,则需要使用连接实现。 MariaDB中有三种类型的连接: INNER JOIN (也称为) LEFT OUTER JOIN (也称为) RIGHT OUTER JOIN (也称为) MariaDB INNER JOIN MariaDB 是最常见的连接类型,它返回连接条件满足的多个表中的所有行。 语法: 图形表示如下: