给定示例的SQL查询应该是什么 [英] What should be the SQL Query for the given example

查看:60
本文介绍了给定示例的SQL查询应该是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

表格结构

  ID  
21
2102
210201
21020101





我想要这样

 ID ParantID 
- --------- ---- -------
21 0
< span class =code-digit> 2102 21
210201 2102
21020101 210201





请帮我解决这个问题。什么应该是这个

解决方案

的Sql查询快速解决方案可能像



  DECLARE   @ TBL   

ID VARCHAR 20


INSERT INTO @ TBL (ID)
SELECT ' 21 '
UNION ALL
SELECT ' 2102'
UNION ALL
SELECT 210201'
UNION ALL
SELECT ' 21020101'

选择 案例
WHEN len(ID)= 2 那么 0
ELSE
(ID, len(ID)-2)
END
来自 @ TBL


parentid是通过从id字符串的长度减去2得到的。所以试试这个:

 SELECT id,SUBSTRING(CONVERT(VARCHAR,id),1,LEN(CONVERT(VARCHAR,id)) -  2)+ 0 as parentid FROM tablename 


table structure

ID
21
2102
210201
21020101



I want Like This

ID          ParantID
----------- -----------
21          0
2102        21
210201      2102
21020101    210201 



Please help me out this. what should be the Sql query for this

解决方案

A quick solution could be like

DECLARE @TBL TABLE
(
	ID VARCHAR(20)
)

INSERT INTO @TBL (ID)
SELECT '21'
UNION ALL
SELECT '2102'
UNION ALL 
SELECT '210201'
UNION ALL 
SELECT '21020101'

select case 
	   WHEN len(ID) = 2 THEN 0
	   ELSE
		Left(ID, len(ID)-2)
	   END
from @TBL


The parentid is derived by substracting 2 from the length of the id string. So try this:

SELECT id, SUBSTRING(CONVERT(VARCHAR,id),1,LEN(CONVERT(VARCHAR,id))-2)+0 as parentid FROM tablename


这篇关于给定示例的SQL查询应该是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆