【问题标题】:select data from a table and fill specific value from another table从表中选择数据并从另一个表中填充特定值
【发布时间】:2021-09-21 06:51:23
【问题描述】:

我有两张表 discussionsvotes 是这样的

讨论

投票

votes 中的 parentIddiscussions 表中的 id

但存在问题

我想要一个名称为likeByMe 的密钥,并希望在为特定用户选择讨论时填写此密钥。 如何在调用一个查询时连接这两个表并填写此值?

我想要这样的东西

select * 
from discussions

并用真假值从投票表中为任何行填充likeByMe

【问题讨论】:

  • 很难理解你的意思。显示一些样本数据和该样本数据的所需结果。理想情况下,编辑您的问题以添加(作为文本,而不是图像)show create table votes;show create table discussions; 的输出,并为您的示例数据插入语句。
  • 注意:我有“讨论表”,我想将讨论表的所有行发送给客户,但在此之前,我想检查该客户是否喜欢这一行。我们应该从保存了喜欢它的讨论ID和用户ID的投票表中检测到它。
  • 我的问题是这样的:stackoverflow.com/questions/14416789/…
  • 你的问题和那个问题有什么不同?样本数据和结果会让它更清晰

标签: php mysql sql node.js database


【解决方案1】:

根据您的描述,您可以使用exists

select d.*,
       (exists (select 1
                from votes v
                where v.parentid = d.id and v.userid = ?
               )
       ) as likedByMe
from discussions d;

? 是您关心的用户的参数占位符。

【讨论】:

    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 2012-04-30
    • 2023-03-04
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2012-07-23
    相关资源
    最近更新 更多