首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果用户设置表为空,请从默认表中为用户选择默认设置

如果用户设置表为空,请从默认表中为用户选择默认设置
EN

Stack Overflow用户
提问于 2016-02-23 00:11:21
回答 2查看 87关注 0票数 0

我的sql很弱,我正在努力获得我想要的结果,我确信这是简单的东西。

我有三张表:

代码语言:javascript
运行
AI代码解释
复制
user, usersetting and defaultsetting

用户表列:

代码语言:javascript
运行
AI代码解释
复制
UserId | Email

UserSetting表列:

代码语言:javascript
运行
AI代码解释
复制
UserId | SettingKey | IsEnabled

DefaultSetting表列:

代码语言:javascript
运行
AI代码解释
复制
SettingKey | IsEnabled

如果用户显式地更新了他们的设置,那么他们将只在usersetting表中有一条记录,否则他们应该只从defaultSetting表中获取设置。用户的设置为打开或关闭(IsEnabled)

我想要编写一个查询,该查询获取启用了设置X (settingKey = x)的所有用户。如果用户的UserSettings表中没有用于设置x的行,但是默认设置IsEnabled = true,那么我仍然希望为该用户获取一行。

所以从逻辑上讲,我想这样做

代码语言:javascript
运行
AI代码解释
复制
Select UserId, Email from User if they have turned setting x on explicitly or setting x defaults to on
EN

回答 2

Stack Overflow用户

发布于 2016-02-23 00:18:31

coalesce是你的朋友。

代码语言:javascript
运行
AI代码解释
复制
Select UserId, Email, coalesce(UserSetting.SettingKey, DefaultSetting.SettingKey) as SettingKey
from User 
left join UserSetting 
on user.userid = UserSetting.userid
left join DefaultSetting 
on UserSetting.SettingKey = DefaultSetting.SettingKey
票数 0
EN

Stack Overflow用户

发布于 2016-02-23 00:47:03

这应该是可行的。我包含了用于测试的示例表和数据

代码语言:javascript
运行
AI代码解释
复制
create table #Users (UserId int, Email varchar(100))
create table #UserSetting (UserId int, SettingKey varchar(10), IsEnabled int)
create table #DefaultSetting (SettingKey varchar(10), IsEnabled int)

insert into #Users values (1, 'User1')
insert into #Users values (2, 'User2')
insert into #Users values (3, 'User3')

insert into #DefaultSetting values ('default', 1)

insert into #UserSetting values (1, 'pass1', 1)
insert into #UserSetting values (2, 'pass2', 1)


select u.UserId, u.Email, coalesce(us.SettingKey, ds.SettingKey) SettingKey
from #Users u
    left join #UserSetting us on us.UserId = u.UserId and us.IsEnabled = 1
    cross join #DefaultSetting ds
where coalesce(us.SettingKey, ds.SettingKey) = 'pass2'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35566446

复制
相关文章
django 富文本编辑的种类
django 富文本编辑的种类 ckeditor(推荐) tinymce ueditor ... ckeditor 官网:https://ckeditor.com/ 安装:https://xieboke.net/article/7/ 文档:https://django-ckeditor.readthedocs.io/en/latest/ tinymce 官网:https://www.tiny.cloud/docs/api/tinymce/root_tinymce/ 安装:https://www.cnblog
卓越笔记
2023/02/18
4030
Django使用markdown文本编辑器
前端界面的显示: 导入css,js文件,这些文件的路径在\python\Lib\site-packages\mdeditor\static中,将它拷贝至项目的静态文件目录使用即可(注意导入顺序):
TomatoCool
2023/07/30
3430
Django添加ckeditor富文本编辑器
源码 https://github.com/django-ckeditor/django-ckeditor
菲宇
2022/12/21
2.2K0
jQuery实现单击页面产生随机字符效果
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
浩Coding
2019/07/02
2.7K0
jQuery实现单击页面产生随机字符效果
Django 2.1.7 使用富文本编辑器 tinymce
Django 2.1.7 Admin - 注册模型、自定义显示列表字段 Django 2.1.7 上传图片 - Admin后台管理 https://django-tinymce.readthedocs.io/en/latest/
Devops海洋的渔夫
2019/07/15
1.7K0
Django 2.1.7 使用富文本编辑器 tinymce
django admin 使用 ckeditor 富文本编辑器
pip install pillow (上传图片到伺服器裁剪用,生成浏览伺服器的缩略图)
卓越笔记
2023/02/17
1.2K0
django admin 使用 ckeditor 富文本编辑器
有没有可能,你根本不懂文本编辑!(一期)
用户5021203
2022/10/05
1950
有没有可能,你根本不懂文本编辑!(一期)
django xadmin 集成DjangoUeditor富文本编辑器
本文档记录自己的学习历程! 介绍 Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大 额外功能 解决图片视频等无法上传显示问题 Ueditor下载地址 https://github.com/wsqy/DjangoUeditor.git 解压后将 DjangoUeditor 文件夹复制到django项目目录下,跟app目录同级 修改app models 导入UEditorField 模块 增加需要富文本框的字段 from DjangoUeditor.models import UEd
程序员同行者
2018/07/02
1.4K0
使用 Django Ueditor 富文本编辑器(一)
很简单的,直接把自己想要使用富文本编辑器的字段应用为UeditorField就可以了:
benny
2020/04/23
1.3K0
Django 基于 jquery 的 a
<1> $.ajax的两种写法: $.ajax("url",{}) $.ajax({}) <2> $.ajax的基本使用 $.ajax({ url:"//", data:{a:1,b:2}, type:"GET", success:function(){} }) $.get() 方法 创建一个 static 文件夹,用来存储 jquery.min.js 配置 settings.py, 在最后添加 STATICFILES_DIRS=( os.pa
py3study
2020/01/15
4400
Django 基于 jquery 的 a
Django使用xadmin集成富文本编辑器Ueditor
使用xadmin发现没有富文本编辑器,就在网上找关于xadmin集成富文本编辑器的文章,看很多人都在使用ueditor集成,也试了好几篇文章的,都有些问题,遇到很多坑,就自己摸索尝试,最后终于配置成功。 一、xadmin的安装与配置 1、安装xadmin,其中第一种在python3中安装不成功,推荐第二种或者第三种 方式一:pip install xadmin 方式二:pip install git+git://github.com/sshwsfc/xadmin.git 方式三: 下载https://cod
菲宇
2022/12/21
6050
Django使用xadmin集成富文本编辑器Ueditor
Django项目如何用富文本编辑器DjangoUeditor
Ueditor HTML编辑器是百度开源的在线HTML编辑器,功能非常强大,像表格可以直接拖动调整单元格大小等, DjangoUeditor是把此编辑器集成为可以在django项目中直接使用的app,让django项目可以方便的使用这个编辑器。
极简小课
2022/06/21
2.3K0
Django项目如何用富文本编辑器DjangoUeditor
Django实战-番外篇-tinymce富文本编辑器
富文本编辑器在 web应用中使用广泛,比如 markdown、ueditor 等,像这些编辑器都有集成在 python 和 django 的第三方包。
小团子
2019/07/18
9300
Django实战-番外篇-tinymce富文本编辑器
Django中富文本编辑器KindEditor的使用和图片上传
KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用
菲宇
2022/12/21
1.1K0
Django中富文本编辑器KindEditor的使用和图片上传
flashfxp编辑文件显示活动编辑的取消办法
我一直在使用的是国产的8UFTP,但是最近win10系统貌似有点不和谐,编辑文件上传的时候会有一秒“未响应”的卡顿情况,所以有些别扭,又不想做回win7,所以就想起了比较强大的flashfxp。
李洋博客
2021/06/16
1.6K0
017:Django商品详情页、富文本编辑器
本章知识点 1、详情页调用 2、富文本编辑器 知识点讲解 1、详情页调用 2、富文本编辑器 Ckeditor Php Java Python Django-ckeditor App 安装django-ckeditor 到虚拟环境 pip install django-ckeditor 安装django-ckeditor到项目 安装app
李玺
2021/11/22
5150
017:Django商品详情页、富文本编辑器
Django实战-信息资讯-UEditor富文本编辑器
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/07/18
7320
Django实战-信息资讯-UEditor富文本编辑器
Django后台和前台使用summernote富文本编辑器
简单介绍一下怎么在django的管理后台和用户使用网页中使用django-summernote富文本编辑器,其他富文本编辑器类似。
小末快跑
2019/07/03
2.5K0
点击加载更多

相似问题

eclipse外观问题

21

Java Substance外观问题

30

Icefaces 1.8外观问题

15

TableView细胞外观问题

35

UITabBar外观问题+ NSThreads

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档