首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql查询相关列

sql查询相关列
EN

Stack Overflow用户
提问于 2011-02-04 10:01:26
回答 1查看 45关注 0票数 0

我有两张桌子

一个是关键字id | keyword | account k,一个是templateKeywordLink templateId | keywordId tkl

我想要做的是从关键字表中获得一个包含所有关键字的结果集(其中account = 1)

我还想添加另一个名为selected的列。

如果选择,则selected应包含“k.id in (select templateId from templateKeywordLink)”。否则,它应该为空

我想知道做这件事的最佳查询是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-04 10:07:21

有几种方法可以做到这一点。一种方法是对返回感兴趣的is的查询执行左连接。

请注意,大多数数据库都有更简洁的方法来完成我对CASE语句所做的工作,但是CASE可以移植到您想要使用的任何关系数据库中。

代码语言:javascript
复制
SELECT k.*
  , CASE
      WHEN tkl.id IS NULL
      THEN NULL
      ELSE 'selected'
    END as selected
FROM keywords k
  LEFT JOIN (
      SELECT DISTINCT templateId
      FROM templateKeywordLink
    ) as tkl
    ON k.id = tkl.templateId
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4893837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档