Sql server sql中如何按特例排序
我有这个案子 我有一个存储过程,可以将所有人作为男女夫妇 我想把这对夫妇按男性名字分类 我试着唱一些这样的歌Sql server sql中如何按特例排序,sql-server,Sql Server,我有这个案子 我有一个存储过程,可以将所有人作为男女夫妇 我想把这对夫妇按男性名字分类 我试着唱一些这样的歌 SELECT P.GenderTypeID, Couple.CoupleID, P.PersonID , p.NameAr, p.NameEn , p.Mobile FROM t
SELECT P.GenderTypeID,
Couple.CoupleID,
P.PersonID ,
p.NameAr,
p.NameEn ,
p.Mobile
FROM tbl_Couples Couple
LEFT OUTER JOIN tbl_Persons P
ON P.CoupleID = Couple.CoupleID
ORDER BY
CASE WHEN P.GenderTypeID = 1
THEN '1'--Male
WHEN P.GenderTypeID = 2
THEN '2'--Female
ELSE P.GenderTypeID END ASC ,
p.NameAr
把它放在男性的前面,然后是女性
我明白了
GenderTypeID CoupleID PersonID NameAr NameEn Mobile
1 3 10 أحمد Ali 01255678668
1 5 15 سمير Samier 01255353563
1 4 17 سيد Said 012359989744
2 5 14 سامية Samia 01156786868
2 4 16 سعاد Suadd 01353563563
2 3 12 منى Mona 010264646444
让我期待
GenderTypeID CoupleID PersonID NameAr NameEn Mobile
1 3 10 أحمد Ali 01255678668
2 3 12 منى Mona 010264646444
1 5 15 سمير Samier 01255353563
2 5 14 سامية Samia 01156786868
1 4 17 سيد Said 012359989744
2 4 16 سعاد Suadd 01353563563
您不需要在ORDERBY子句中使用任何case语句,只需使用
SELECT P.GenderTypeID,
Couple.CoupleID,
P.PersonID ,
p.NameAr,
p.NameEn ,
p.Mobile
FROM tbl_Couples Couple
LEFT OUTER JOIN tbl_Persons P
ON P.CoupleID = Couple.CoupleID
ORDER BY P.GenderTypeID, p.NameAr
或者,如果您想按耦合器ID订购记录,只需按更改订单即可
ORDER BY Couple.CoupleID, p.NameAr
您不需要在ORDERBY子句中使用任何case语句,只需使用
SELECT P.GenderTypeID,
Couple.CoupleID,
P.PersonID ,
p.NameAr,
p.NameEn ,
p.Mobile
FROM tbl_Couples Couple
LEFT OUTER JOIN tbl_Persons P
ON P.CoupleID = Couple.CoupleID
ORDER BY P.GenderTypeID, p.NameAr
或者,如果您想按耦合器ID订购记录,只需按更改订单即可
ORDER BY Couple.CoupleID, p.NameAr
使用CTE首先只选择男性,然后将其与tbl_夫妇和tbl_人员表合并,这将给出一个结果集,其中夫妇的男性部分在“男性”CTE中重复
除了CTE,您还可以使用内联视图:将主选择中的“tbl_MaleOnly”替换为括号中的CTE select。使用CTE首先只选择男性,然后将其与tbl_夫妇和tbl_人员表连接,这将给出一个结果集,其中夫妇的男性部分与“男性”重复CTE
除了CTE,您还可以使用内联视图:将主选择中的“tbl_MaleOnly”替换为括号中的CTE select。为什么不
按CoupleID DESC,GenderTypeID
?@Raj排序,因为CoupleID标识可能是我们与id=1I的字符(a,أ)存在耦合。我假设您想按对耦合排序,先公后母。是这样吗?如果是这样的话,我们需要更多的数据来帮助您。@Raj我更新了数据,为什么您不按CoupleID DESC,GenderTypeID排序?@Raj因为CoupleID标识可能是我们有一对id=1的字符(A,أ),我假设您想按coupleds排序,先是男性,然后是女性。是这样吗?如果是这样,我们需要更多的数据来帮助您。@Raj我会更新数据