php - 查询从php中的三个表中读取

标签 php mysql

我知道有很多类似的线程,但没有一个没有找到我需要的内容。

我有三个表 my_resourcemy_usermy_resource_featured

我只想读取精选数据。我构建一个查询来读取所有数据, 这是我的代码:

 $FRArray = $db->fetchAll($db->limit("SELECT
        resource_id, title, tag_line,
        icon_date, last_update, price, currency, resource_state,
        user.user_id, user.username
        FROM my_resource AS resource
        LEFT JOIN my_user AS user ON (user.user_id = resource.user_id)
        WHERE resource.resource_id
        AND resource_state = 'visible'
        ORDER BY resource.rating_weighted DESC, resource.last_update DESC",
    $Limit));

my_resource idmy_resource_featured id 相同。

e.x 如果来自 my_resource 的 id1 和 id3 被推荐,则相同的 id 会写入 my_resource_featured

我怀念的是我能做到这一点吗?

问候,

最佳答案

这应该适合你,尽管你可能想重新考虑你的列名称

SELECT 
  resource.resource_id,
  feature_date
  title, 
  tag_line,
  icon_date,
  last_update,
  price,
  currency,
  resource_state,
  user.user_id, 
  user.username
FROM my_resource AS resource
INNER JOIN my_resource_featured
  ON (my_resource_featured.resource_id = resource.resource_id)
INNER JOIN my_user AS user 
  ON (user.user_id = resource.user_id)
WHERE 
  resource_state = 'visible'
ORDER BY
  resource.rating_weighted DESC,
  resource.last_update DESC";

如果是我:

my_resource 的主键只是 id 而不是 Resource_id,与 my_user 相同(例如,my_user.id = my_resource.user_idmy_resource_featured.resource_id = my_resource.id )。

每当您在列名称中引用表名称时,您就走错了路。对其他表的引用应在列中包含表名称。

关于php - 查询从php中的三个表中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42043565/

相关文章:

php - Linux后台任务最大处理时间

mysql - group by 到底做什么?

mysql - 如何查找与特定字符串匹配的条目

PHP 发布值但数据库未更新

powershell - 从Windows Powershell ISE运行PHP CLI

javascript - 一一循环ajax请求并一一显示结果?

php - 使用 JOIN 或不同解决方案的 MySQL 查询

php - mysql select where子查询慢

php mysql 插入、删除或更新

c# - 通过 PHP REST api 使用 C# 进行安全身份验证和请求