在SQL里如何写条件逻辑?
主要涉及CASE,WHEN之类。。
不同的服务器上实现if...else...是不一样的。
建议用CASE ,WHEN,因为它们是SQL国标呢。
mysql> SELECT
    -> SUM(CASE 
    -> END) year_2000,
    -> SUM(CASE
    -> END) year_2001
    -> FROM account
    -> WHERE open_date > '1999-12-31' AND open_date < '2006-01-01';
mysql> SELECT c.cust_id, c.fed_id, c.cust_type_cd,
    -> CASE
     from account a
    -> WHERE a.cust_id = c.cust_id
    -> AND a.product_cd = 'CHK') THEN 'Y'
    -> ELSE 'N'
    -> END has_checking,
    -> CASE
     FROM account a
    -> WHERE a.cust_id = c.cust_id
    -> AND a.product_cd = 'SAV') THEN 'Y'
    -> ELSE 'N'
    -> END has_savings
    -> FROM customer c;
mysql> SELECT c.cust_id, c.fed_id, c.cust_type_cd,
    -> CASE (SELECT COUNT(*) FROM account a
    -> WHERE a.cust_id = c.cust_id)
     THEN 'None'
     '
     '
    -> ELSE '3+'
    -> END num_accounts
    -> FROM customer c;

在SQL里如何写条件逻辑?的更多相关文章
- 将IP表存入SQL里的程序
		将IP表存入SQL里的程序 写得比較粗糙,另一点错误,只是能达到效果.请大家測试 create.asp ---------------------------------------------- ... 
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
		在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log. 需要在oracle 中执行"call dbms_ ... 
- 将数组里的元素拼接成sql里的in条件
		/** * 将数组里的元素拼接成sql里的in条件,如'a1','a2','a3' * @param array * @returns */function makeSqlInStr(array){ ... 
- 读取数据表中第m条到第n条的数据,SQL语句怎么写?
		原文:读取数据表中第m条到第n条的数据,SQL语句怎么写? 对于MySQL或者Oracle来说,如果实现从Table 表中取出第 m 条到第 n 条的记录操作,我们需要TOP函数(不是所有的数据库都支 ... 
- CSS规范--春风十里不如写好CSS
		先吟几句: 最近看了看春风十里不如你,本来很少看剧的,暑假有点闲就看了,感觉不错,挺喜欢这部剧,就套了个名字,嘿嘿嘿.剧里面印象深刻的是<致橡树>这首诗,念几句: 我如果爱你,绝不像攀援的 ... 
- SQL里执行CLR c#代码
		这里只说一个重点: 1.直接在sql里执行clr代码的时候,sql还是会报错 说没有启用 clr 执行以下代码才会起作用 EXEC sp_configure 'clr enabled', 1; RE ... 
- react 生命周期钩子里不要写逻辑,否则不生效
		react 生命周期钩子里不要写逻辑,否则不生效,要把逻辑写在函数里,然后在钩子里调用函数,否则会出现问题. 
- dedecms清空所有文章怎么操作?sql语句如何写?
		小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ... 
- sql里的in对应linq的写法 及 IQueryable转化为Dictionary
		string[] arID = { "0001", "0002" }; var dict = this.service.GetMyList(m => ar ... 
随机推荐
- zabbix安装报某些模块未安装上
			执行下 make clean /usr/local/php5/bin/phpize ./configure --with-curl --with-php-config=/usr/local/php5/ ... 
- JavaScript之函数
			控制语句(switch) switch(name){ case '1': age = 123; break; case '2': age = 456; break; case '3': age = 7 ... 
- 17.2---#字棋(CC150)
			牛客网的在线题.思路,比较简单.就是判断一下是否有连起来的1. public static boolean checkWon(int[][] board){ boolean res = false; ... 
- linux 终端报错 Out of memory: Kill process[PID] [process name] score问题分析
			从Out of memory来看是内存超出了,后面的 Kill process[PID] [process name] score好像和进程有关了,下面我们就一起来看看linux 终端报错 Out o ... 
- jQuery工作原理
			jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ... 
- ubuntu14.04 archive sources.list
			deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse deb http://archive. ... 
- shiro学习中报错解决方法
			[1] 最近在学习shiro,在学习过程中出现了一个问题,报错如下: org.apache.shiro.UnavailableSecurityManagerException: No Security ... 
- Binary Tree Non-recursive Traversal
			Preorder: public static void BSTPreorderTraverse(Node node) { if (node == null) { return; } Stack< ... 
- strcpy C++实现
			#include <iostream> #include <assert.h> using namespace std; char *strcpy(char *strDest, ... 
- 【leetcode】Remove Duplicates from Sorted Array II
			Remove Duplicates from Sorted Array II Follow up for "Remove Duplicates":What if duplicate ... 
