从表中选择数据并从另一个表中填充特定值
Posted
技术标签:
【中文标题】从表中选择数据并从另一个表中填充特定值【英文标题】:select data from a table and fill specific value from another table 【发布时间】:2021-09-21 06:51:23 【问题描述】:我有两张表 discussions
和 votes
是这样的
讨论
投票
votes 中的 parentId 是 discussions 表中的 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;
?
是您关心的用户的参数占位符。
【讨论】:
以上是关于从表中选择数据并从另一个表中填充特定值的主要内容,如果未能解决你的问题,请参考以下文章
MySQL:如何根据从另一个表中选择的值填充现有表的新列[关闭]