【问题标题】:Select all from another table in select query在选择查询中从另一个表中全选
【发布时间】:2017-10-05 07:06:27
【问题描述】:

我有两张桌子:

评论

  • company_id(列)

员工

  • company_id(列)
  • 电子邮件(列)

我有很多评论和很多员工。

我有一个这样的选择:

$stmt = "SELECT * FROM reviews WHERE user_id = :user_id";

我的问题:在同一个选择查询中,如何使用评论表中的公司 ID 选择所有(多个)员工的电子邮件?

【问题讨论】:

  • 您没有在表规范中指定 user_id 列。请提供所有列的列表。如果您可以同时提供表格和预期输出的样本数据,那就更好了

标签: php mysql arrays select join


【解决方案1】:

你需要JOIN这两个表

SELECT * 
FROM reviews
JOIN employees ON reviews.company_id = reviews.company_id
WHERE user_id = :user_id

SELECT * 这里将返回reviewsemployees 表的所有列。

【讨论】:

    【解决方案2】:

    当员工表已经拥有它时,为什么要使用评论表中的 company_id。无论如何,您可以将 2 个表连接在一起来解决您的问题。像这样:

    SELECT email 
    FROM employees e JOIN reviews r ON e.company_id = r.company_id 
    WHERE r.company_id = :company_ud
    

    【讨论】:

    • 我需要获得该特定评论并获得与该评论相关联的公司以及与该公司相关联的所有电子邮件。此外,我在该业务下有多名员工,我收到重复的内容...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 2010-12-25
    相关资源
    最近更新 更多