博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见sql 写法总结
阅读量:4589 次
发布时间:2019-06-09

本文共 2083 字,大约阅读时间需要 6 分钟。

  1. 关于如何获取1对多数据中最大条数据的写法

    例子: 

      LEFT JOIN ( SELECT *

FROM table AS n1

WHERE 
n1.ID IN
(
  SELECT MAX(id) FROM table AS n2 GROUP BY n2.House_ID
)
) ne ON ne.House_ID = C.Null1

    通过两层的嵌套,group by 分组获取最大值,然后通过 in 方法来查询其他信息

 

2、查询是否有断的ID

 

SELECT * FROM 

dbo.table  AS a
WHERE a.ID+1
NOT IN
(
SELECT b.ID FROM dbo.table  AS b

 

3、上下两条数据合成一条带时间的数据

 

SELECT DISTINCT ISNULL(fybl2.ZYRQ,'1900-01-01') AS ZYRQ1,fybl1.* FROM T_FYBL AS fybl1

LEFT JOIN dbo.T_FYBL AS fybl2 ON fybl1.YJ_ID=fybl2.YJ_ID AND fybl1.ID>fybl2.ID AND fybl1.JSM=fybl2.JSM

 

4、空值,null值,0值,0.0值等筛选处理

or ISNULL(AC.CommissionAmount,'0') NOT IN('','0','0.00')

 

5、获取系统数据字典:

--表描述

SELECT tbs.name 表名,ds.value 描述
FROM sys.extended_properties ds
LEFT JOIN sysobjects tbs ON ds.major_id=tbs.id
WHERE ds.minor_id=0 AND tbs.type='U'

--快速查看表结构

SELECT CASE WHEN col.colorder = 1 THEN obj.name
ELSE ''
END AS 表名,
col.colorder AS 序号 ,
col.name AS 列名 ,
ISNULL(ep.[value], '') AS 列说明 ,
t.name AS 数据类型 ,
col.length AS 长度 ,
ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,
CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN '√'
ELSE ''
END AS 标识 ,
CASE WHEN EXISTS ( SELECT 1
FROM dbo.sysindexes si
INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
AND si.indid = sik.indid
INNER JOIN dbo.syscolumns sc ON sc.id = sik.id
AND sc.colid = sik.colid
INNER JOIN dbo.sysobjects so ON so.name = si.name
AND so.xtype = 'PK'
WHERE sc.id = col.id
AND sc.colid = col.colid ) THEN '√'
ELSE ''
END AS 主键 ,
CASE WHEN col.isnullable = 1 THEN '√'
ELSE ''
END AS 允许空 ,
ISNULL(comm.text, '') AS 默认值
FROM dbo.syscolumns col
LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
inner JOIN dbo.sysobjects obj ON col.id = obj.id
AND obj.xtype = 'U'
AND obj.status >= 0
LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id
AND col.colid = ep.minor_id
AND ep.name = 'MS_Description'
LEFT JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
AND epTwo.minor_id = 0
AND epTwo.name = 'MS_Description'

ORDER BY col.colorder ;

转载于:https://www.cnblogs.com/ransom/p/7028321.html

你可能感兴趣的文章
java开发环境配置(win8 64位)
查看>>
其中考试
查看>>
(8)zabbix监控项item是什么
查看>>
本人的coding地址
查看>>
json_encode
查看>>
洛谷 1164 小A点菜
查看>>
客户端连接服务端的配置文件
查看>>
【POJ - 1995】Raising Modulo Numbers(快速幂)
查看>>
python model对象转为dict数据
查看>>
RPC
查看>>
sql 转 markdown
查看>>
UI自动化笔记(二)
查看>>
WINDOWS 的 MKLINK : 硬链接,符号链接 : 文件符号链接, 目录符号链接 : 目录联接...
查看>>
HTML5VEDIO标签阿里云-微信浏览器兼容性问题
查看>>
jQuery事件和JavaScript事件
查看>>
webService 客户端 以wsimport方式生成对应java文件
查看>>
springmvc的请求流程
查看>>
local unversioned, incoming add upon update问题
查看>>
linux基础nfs服务和计划任务crond服务
查看>>
bzoj3998[TJOI2015]弦论
查看>>