从表中选择数据并从另一个表中填充特定值

Posted

技术标签:

【中文标题】从表中选择数据并从另一个表中填充特定值【英文标题】: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的投票表中检测到它。 我的问题是这样的:***.com/questions/14416789/… 你的问题和那个问题有什么不同?样本数据和结果会让它更清晰 【参考方案1】:

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

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

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

【讨论】:

以上是关于从表中选择数据并从另一个表中填充特定值的主要内容,如果未能解决你的问题,请参考以下文章

jquery根据选择值从表中填充文本输入

MySQL:如何根据从另一个表中选择的值填充现有表的新列[关闭]

从表中选择行,其中具有相同 id 的另一个表中的行在另一列中具有特定值

如何从另一个表中选择 MIN 和 MAX

如何打开模态 jquery 并从表中获取单元格值?

从另一个查询插入记录