【问题标题】:Getting ID related to another ID in table then using the ID to get information from another table获取与表中另一个 ID 相关的 ID,然后使用该 ID 从另一个表中获取信息
【发布时间】:2014-04-17 13:19:07
【问题描述】:

我将尝试以最好的方式解释这一点。我有一个名为 albumAccess 的表,其中包含以下字段:id、albumID、userID 和权限。

接下来我有另一个表,它根据专辑 ID 保存每个专辑的信息。

我想知道如何使用用户 ID 来获取所有专辑信息。我一直在研究 join 和 php 数组,但不知道如何去做。

任何帮助将不胜感激!

【问题讨论】:

  • 您似乎对 SQL 很陌生。这是称为join 的基本SQL 操作。我建议你学习一些关于数据库的知识。
  • 我知道联接,但我知道简单的联接,例如获取一件事来匹配信息。这比那多一点

标签: php mysql arrays join


【解决方案1】:

如果没有可以使用的语法很难,但我认为这样的东西可以工作。

SELECT 
tablea.*,
tableb.*
FROM albumaccess        tablea
JOIN albuminfo          tableb ON tablea.AlbumId=tableb.AlbumId
WHERE tablea.UserId='theuserid'

这将加入在 AlbumId 上匹配的行。

【讨论】:

  • 这似乎很接近,但我通常只有用户 ID。从中我需要获取与之关联的所有专辑 ID,然后获取每个专辑 ID 的所有专辑信息
【解决方案2】:

我将另一个表名作为albumDetails,它根据albumID 保存每个专辑的信息。

select albumAccess.*, albumDetails.* from albumAccess, albumDetails where
albumAccess.albumID=albumDetails.albumID and 
albumAccess.userID=YOUR_REQUIRED_USER_ID

【讨论】:

  • 这似乎很接近,但我通常只有用户 ID。从中我需要获取与之关联的所有专辑 ID,然后获取每个专辑 ID 的所有专辑信息
  • Oh, it is so sad when old-style joins are chosen as the correct answer.
【解决方案3】:

我想这就是你要找的。​​p>

SELECT * FROM users u, albuminfos ai, albumaccesses aa WHERE aa.user_id=u.id

【讨论】:

  • 这似乎很接近,但我通常只有用户 ID。从中我需要获取与之关联的所有专辑 ID,然后获取每个专辑 ID 的所有专辑信息
猜你喜欢
  • 1970-01-01
  • 2022-11-27
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多