能否查询的ID号按In中的字符串先后顺序排列

lingyun410 2009-06-09 03:00:33
Select ID From [Label] Where Label_Name In ('testParent','test child','test')
这样的结果为:
2
3
6
----------------------------------
testParent:id为3
test child:id为6
test :id为2

有办法让输出的ID号按 In 中的字符串先后顺序排列ID号值么?
...全文
64 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨沙发 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
SQL codeSelect ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')
[/Quote]支持
htl258_Tony 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
SQL codeSelect ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')
[/Quote]正解.
yingzhilian2008 2009-06-10
  • 打赏
  • 举报
回复

Select ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')


SELECT ID FROM [Label]
WHERE CHARINDEX(Label_Name,'testParent,test child,test')>0
ORDER BY CHARINDEX(Label_Name,'testParent,test child,test')

yingzhilian2008 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 SQL77 的回复:]
SQL code
CREATE TABLE TBTEST(ID INT ,LABLENAME VARCHAR(20))
INSERT TBTEST
SELECT 2,'test' UNION ALL
SELECT 3,'testParent' UNION ALL
SELECT 6,'testchild' UNION ALL
SELECT 8,'testbbb'

--DROP TABLE TBTEST

SELECT ID,LABLENAME FROM TBTEST WHERE LABLENAME IN('testParent','testchild','test') ORDER BY RIGHT(LABLENAME,LEN(LABLENAME)-4) DESC
ID LABLENAME
----------- ----…
[/Quote]
这个很凑巧啊!
SQL77 2009-06-09
  • 打赏
  • 举报
回复

CREATE TABLE TBTEST(ID INT ,LABLENAME VARCHAR(20))
INSERT TBTEST
SELECT 2,'test' UNION ALL
SELECT 3,'testParent' UNION ALL
SELECT 6,'testchild' UNION ALL
SELECT 8,'testbbb'

--DROP TABLE TBTEST

SELECT ID,LABLENAME FROM TBTEST WHERE LABLENAME IN('testParent','testchild','test') ORDER BY RIGHT(LABLENAME,LEN(LABLENAME)-4) DESC
ID LABLENAME
----------- --------------------
3 testParent
6 testchild
2 test

(所影响的行数为 3 行)



--小F-- 2009-06-09
  • 打赏
  • 举报
回复
Select ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')--这个方法很妙
SELECT ID FROM [Label]
WHERE CHARINDEX(Label_Name,'testParent,test child,test')>0
ORDER BY CHARINDEX(Label_Name,'testParent,test child,test')--常规写法 也不错
Zoezs 2009-06-09
  • 打赏
  • 举报
回复

SELECT ID FROM [Label]
WHERE CHARINDEX(Label_Name,'testParent,test child,test')>0
ORDER BY CHARINDEX(Label_Name,'testParent,test child,test')
ai_li7758521 2009-06-09
  • 打赏
  • 举报
回复
SELECT ID FROM [Label] 
WHERE CHARINDEX(Label_Name,'testParent,test child,test')>0
ORDER BY CHARINDEX(Label_Name,'testParent,test child,test')
习惯这么写
olddown 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
SQL codeSelectIDFrom[Label]WhereCHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0ORDERBYCHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')
[/Quote]
水哥的秒解啊。
sdhdy 2009-06-09
  • 打赏
  • 举报
回复
Select ID From [Label] Where CHARINDEX(Label_Name,'testParent,test child,test')>0
ORDER BY CHARINDEX(Label_Name,'testParent,test child,test')
ks_reny 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wufeng4552 的回复:]
SQL codeSelect ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')
[/Quote]
支持水哥的.
lg3605119 2009-06-09
  • 打赏
  • 举报
回复

Select ID From [Label] Where Label_Name In ('testParent','test child','test')
order by
case when Label_Name In ('testParent') then 1
when Label_Name In ('test child') then 2
when Label_Name In ('test') then 3
else 4 end

lg3605119 2009-06-09
  • 打赏
  • 举报
回复

Select ID From [Label] Where Label_Name In ('testParent','test child','test')
order by
case when Label_Name In ('testParent') then 1
when Label_Name In ('test child') then 2
when Label_Name In ('test) then 3
else 4 end

水族杰纶 2009-06-09
  • 打赏
  • 举报
回复
Select ID From [Label] Where CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')>0
ORDER BY CHARINDEX(','+Label_Name+',',','+'testParent,test child,test'+',')

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧