SQLite 中的“如果、那么、否则”

2024-01-04

在不使用自定义函数的情况下,SQLite 是否可以执行以下操作。我有两个表,它们通过通用 ID 号链接。在第二个表中,有两个变量。我想要做的是能够返回一个结果列表,其中包括:行 id,如果这两个变量的所有实例(可能有两个以上)均为 NULL,则为 NULL;如果它们全部为 0,则返回 1如果一个或多个为 1,则为 2。

我现在所拥有的如下:


SELECT 
    a.aid, 
    (SELECT count(*) from W3S19 b WHERE a.aid=b.aid) as num, 
    (SELECT count(*) FROM W3S19 c WHERE a.aid=c.aid AND H110 IS NULL AND H112 IS NULL) as num_null, 
    (SELECT count(*) FROM W3S19 d WHERE a.aid=d.aid AND (H110=1 or H112=1)) AS num_yes 
FROM W3 a

因此,这需要按如下方式逐步执行每个结果(粗略的 Python 伪代码):


if row['num_yes'] > 0:
    out[aid] = 2
elif row['num_null'] == row['num']:
    out[aid] = 'NULL'
else:
    out[aid] = 1

有更容易的方法吗?谢谢!


Use CASE...WHEN, e.g.

CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END

阅读更多内容SQLite语法手册 http://www.sqlite.org/lang_expr.html(转到“CASE 表达式”部分)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite 中的“如果、那么、否则” 的相关文章

  • php 中每个数据库扩展的字符串如何转义?

    在任何人对这个问题的性质做出结论之前 我已经知道了参数化 准备好的语句 http en wikipedia org wiki Prepared statements Parameterized statements并尽可能使用它们 不幸的是
  • 为 Couch Base Server 1.8 和 2.0 构建 Erlang 客户端

    我们已经用过沙发基地服务器 http www couchbase com 在我们的产品中 它是一个内联网应用程序 其前端是纯JavaScript 然而我们使用Erlang OTP http erlang org对于业务逻辑 身份验证 Mne
  • 尝试将 Nhibernate 与 Mono 和 SQLite 一起使用 - 找不到 System.Data.SQLite

    我用 mono C 编写了一个简单的应用程序 它使用 NHibernate 和 MYSQL 现在我想将其移植到 SQLite 我希望我可以简单地更改 hibernate cfg xml 并将其指向不同的数据库 这是我修改后的 hiberna
  • 在数据库中有效存储商品位置(用于订购)

    设想 有一个用户拥有的电影数据库 电影显示在一个名为 我的电影 的页面上 电影可以按照用户想要的顺序显示 例如 位置 1 为 搏击俱乐部 位置 3 为 Drive 依此类推 显而易见的解决方案是存储每个项目的位置 例如 电影 ID 用户 I
  • SQlite 查询 - 如何检索多列数据?

    我很难在网上找到一个关于使用 xcode 和 cocos2dx 从 SQlite DB 获取多个值的工作示例 这是我的sql查询 char sql query 100 sprintf sql query SELECT FROM SQList
  • PostgreSQL - 返回多列的函数

    这是一个提供 2 列结果的函数 在这个函数中有一个Loop被用来返回结果 功能 Create Type Repeat rs as label text count bigint CREATE OR REPLACE FUNCTION Repe
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • Python sqlite3参数化删除表

    我在 python 中删除 sqlite3 表时遇到问题 我正在使用标准sqlite3模块 self conn sqlite3 connect sql drop table self conn execute sql u table nam
  • 使用 PDO 在 SQLite 中检索单个(且唯一)行的最简单方法

    我有这个 PDO stmt db gt prepare SELECT FROM channels WHERE id id stmt gt bindValue id id SQLITE3 INTEGER result stmt gt exec
  • 谷歌浏览器历史记录sqlite

    该数据来自 Chrome 谷歌历史文件 我想知道表中列的含义 所以我发现历史上有一张名为 访问 的表是 CREATE TABLE visits id INTEGER PRIMARY KEY url INTEGER NOT NULL visi
  • 优化 SQL Server 中的排名索引

    我们有一个宽表 目前正在尝试优化 该表有 50 列 统计数据 我们最终希望按降序排列 目前有超过 500 万行 我们正在寻找在降低复杂性和提高读取速度方面优化该表的方法 写入速度对我们来说也很重要 但读取更关键 这些统计数据的排名应尽可能接
  • mysql字符串转换返回0

    why select aaa 0返回 1 真 如果我有一张像这样的桌子 userid pass user1 pas1 如果我查询 select from table where userid 0 and pass 0 它给了我所有的行 My
  • 核心数据:是否可以在分组中使用自定义函数

    在 Objective C 中制作 NSFetchRequest 时 是否可以按组使用自定义函数 strftime sql语句在sqlite中完全有效 select date count from note group by strftim
  • 如何在Android中访问Sqlite数据库?

    我可以在模拟器中使用 adb shell 命令访问我的 sqlite 数据库 但无法对我的 HTC Desire 手机执行相同操作 它会抛出一些权限被拒绝的消息 是否有可能访问这些数据库以进行调试 任何想法 提前致谢 您还可以在命令提示符
  • ASP.NET MVC5 - 将用户保留在 Oracle 数据库中

    一旦创建了一个ASP NET MVC5项目 目标框架是 NET 4 5 1认证类型是个人用户帐户 那么配置项目以便将用户 声明 角色等保留在 Oracle 12c 数据库中的最优雅的方法是什么 我的意思是 如何在不影响自动生成的 MVC5
  • Django 1.6:清除一张表中的数据

    我有一个名为 UGC 的表 想要清除该表中的所有数据 我不想重置整个应用程序 这也会删除所有其他模型中的所有数据 是否可以只清除一个模型 我还为我的应用程序配置了 South 如果这有帮助的话 你可以使用原始 SQL https docs
  • Hibernate统计打印HQL:null

    我是使用休眠的新手 我打开了统计信息 与普通的 HQL 查询一起 我得到了许多这样的统计信息 INFO Statistics HQL null time 1724ms rows blah 有人可以以任何方式帮助我为什么null查询大约需要
  • Android SQLite 数据库 blob 数据类型

    我想将图像保存在数据库中 但我不确定一件事 我在扩展 SQLiteOpenHelper 的类上有这个方法 public boolean insertDemo byte a byte b byte c byte d SQLiteDatabas
  • 一张 400GB 表,一个查询 - 需要调优思路 (SQL2005)

    我有一个大表 我想对其进行优化 我正在使用 MS SQL 2005 服务器 我将尝试描述它的使用方式 如果有人有任何建议 我将非常感激 该表约400GB 有1亿行 每天插入100万行 该表有 8 列 1 列数据和 7 列用于查找 排序 k1
  • 如何将mysql的默认端口从3306更改为3360

    我想更改MySQL服务器的默认端口号 目前它是3306 我想将其更改为3360 我努力了 port 3360 但事情对我不起作用 请提供更改端口的查询 而不是任何配置 我使用的是 Windows 8 64 位 您需要编辑您的my cnf文件

随机推荐

  • Bootstrap3 轮播 - 随机选择下一张幻灯片

    我有点难住了 我是 Javascript 新手 但当我用 Google 搜索时 通常会在网上找到很多很棒的帮助 这次我能想到的最好的帮助就在这里 但文档说发布一个新问题比偏离原来的帖子更好 所以 这是我的问题 我正在使用 Bootstrap
  • Wordpress 数据库输出 - 删除 SQL 注入转义

    我在使用 wbdb 时遇到问题 当我使用 wpdb gt insert 或 wpdb gt update 插入或更新数据时 SQL 注入保护实际上会将 插入数据库 并且在输出该信息时 它会附带 SQL 转义 即 我的价值已转义 我知道必须有
  • 是否有满足 C99 标准的 static_assert 替代品?

    我一直在尝试实现类似的方法static assert这是在 C 11 标准中定义的 主要问题是C 编译器如何编写传递给的文本消息static assert as a const char 我可以让编译器写一条消息 比如A is not PO
  • 如何使用 @Template() 引用多个树枝

    我计划更新在 Symfony 3 0 上运行的应用程序 我曾经使用 Template 但是更新时 我必须在 中指定twig文件的根目录 但是 您需要更改 format 中index csv twig 和index html twig 的读取
  • 如何在react-native中为webView请求设置自定义标头

    我希望能够在 ruby on Rails 服务器端检测到 http 请求来自我的应用程序中的 webView 组件 该应用程序正在使用react native 特别是 我想区分来自应用程序的请求和来自在 ios 设备上运行的移动 safar
  • 请求变量如何由encodeURIComponent 使用 ISO-8859-1 字符集而不是 utf-8 进行编码?

    我在使用 ISO 8859 1 字符集的网站上工作 请求应该由encodeURIComponent 部分编码 但该函数使用utf 8编码 请求变量如何由encodeURIComponent使用ISO 8859 1字符集而不是utf 8进行编
  • 比较日期以检查旧文件

    我想检查文件是否早于一定时间 例如 2 天 我设法以这种方式获取文件创建时间 gt gt gt import os path time gt gt gt fileCreation os path getctime filePath gt g
  • Spring Cloud AWS - 无效标头发布 SNS 通知

    我正在尝试使用org springframework cloud aws messaging core NotificationMessagingTemplate 来自 Spring Cloud AWS 将通知发布到 SNS 主题 每次发布
  • 易失性数组的替代方案

    从其他问题中 我了解到易失性数组的元素不是易失性的 只有引用本身是不稳定的 volatile int data Thread A data 4 457 Thread B System out println data 4 在这里 线程 B
  • Python 2.7:如何在 Windows 上将新行的分隔符限制为 '\n'?

    当我在 Windows 上运行的 python 2 7 脚本中写入文本文件时 新行分隔符是 r n 但我希望它是 n 我尝试过使用open http docs python org 2 library io html io open wit
  • iframe 用于嵌入 flash 内容时的 Webkit 字体渲染

    请参见http jsfiddle net CVwXV 2 http jsfiddle net CVwXV 2 如果您使用的是 Mac 当您在 Mac 上的 Chrome 或 Safari webkit 上查看此内容时 文本会跳至更浅的阴影
  • 根据outlook邮件更新excel表[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的目标是每当我收到特定主题的邮件时
  • 如何使用另一个 python 脚本文件中的参数执行 python 脚本文件

    我的问题是我想使用另一个 python 文件中的参数执行一个 python 文件以获取返回的值 不知道我有没有解释清楚 example 从外壳我执行这个 getCameras py path to the scene 这会返回给我一个相机列
  • Celery 不注册任务

    你好 我刚刚开始将 Celery 与 Django 一起使用 我有一项需要定期执行的任务 在管理界面中 我可以在名为 任务 已注册 的下拉列表中看到我的任务 但是当 Celery Beat 尝试执行它时 会抛出 NotRegistered
  • 用 C# 编写“原始”HTTP 客户端

    我正在尝试用 C 编写一个 原始 HTTP 客户端 你可能会问为什么 我的目标是在 J2ME 中实现 HTTP 客户端 只能执行 GET 和有限的 POST 但首先我需要更好地理解 HTTP 协议 因此进行 C 尝试 我的第一次尝试失败了
  • 选择数据库后进行身份验证

    我的 MongoDB 服务器中有 3 个数据库 我正在使用 pymongo 用 Python3 编写一些脚本 我想使用最新的版本和做法 一旦我打开客户端并选择数据库 pymongo MongoClient mydatabase authen
  • 具有标题和项模板列的 Windows 8 XAML ListView 应具有相同的动态宽度

    我正在使用带有 Itemtemplate 和 Headertemplate 的 Listview 两个模板都包含 6 列 如果我为模板设置固定的列宽 一切都可以 如图一所示 但我想将项目的宽度设置为 自动 但后来我得到图 2 这要怎么处理呢
  • 创建组件实例并传递给另一个组件渲染为 [object HTMLelement]

    从我的组件 例如 Component 中 我尝试实例化一个 Angular 组件 例如 CustomComponent 设置一些属性 然后将其发送到表格 例如 CustomTable 进行渲染 但我不断收到 object HTMLEleme
  • Minio:使用 docker-compose 添加公共存储桶

    下面是我的 docker compose 中的一个服务 minio image minio minio edge environment MINIO ACCESS KEY minio123 MINIO SECRET KEY minio123
  • SQLite 中的“如果、那么、否则”

    在不使用自定义函数的情况下 SQLite 是否可以执行以下操作 我有两个表 它们通过通用 ID 号链接 在第二个表中 有两个变量 我想要做的是能够返回一个结果列表 其中包括 行 id 如果这两个变量的所有实例 可能有两个以上 均为 NULL