SQL查询转义第一个记录显示降序
本文关键字:显示 降序 记录 第一个 查询 转义 SQL | 更新日期: 2023-09-27 18:17:42
我想右转查询
SELECT '0' AS PropertyDetailId, 'Select PropertyDetail' as PropertyName
UNION SELECT PropertyDetailId,PropertyDetail.PropertyName
FROM PropertyDetail join SiteDetail ON
PropertyDetail.SiteDetailId = SiteDetail.SiteDetailId WHERE
PropertyDetail.IsActive = 1
AND PropertyDetail.SiteId = 6
AND SiteDetail.IsActive = 1
AND CustomerId = 0
ORDER BY PropertyName
但是我的PropertyDetailId = 0
在下拉列表中。我想解决这个问题我的第一个记录escape from Order命令
像这样使用"row number"字段:
SELECT 1 AS RN, '0' AS PropertyDetailId, 'Select PropertyDetail' as PropertyName
UNION
SELECT 2 AS RN, PropertyDetailId,PropertyDetail.PropertyName
FROM PropertyDetail
JOIN SiteDetail ON PropertyDetail.SiteDetailId = SiteDetail.SiteDetailId
WHERE
PropertyDetail.IsActive = 1
AND PropertyDetail.SiteId = 6
AND SiteDetail.IsActive = 1
AND CustomerId = 0
ORDER BY RN, PropertyName
另一种方法是在下拉菜单
只要排除你不想要的。试试这个
SELECT '0' AS PropertyDetailId, 'Select PropertyDetail' as PropertyName
UNION SELECT PropertyDetailId,PropertyDetail.PropertyName
FROM PropertyDetail join SiteDetail ON
PropertyDetail.SiteDetailId = SiteDetail.SiteDetailId WHERE
PropertyDetail.IsActive = 1
AND PropertyDetail.SiteId = 6
AND SiteDetail.IsActive = 1
AND CustomerId = 0
AND PropertyDetailId <> 0
ORDER BY PropertyName
试试下面这个。(SELECT PROPERTYDETAIL按值排序)
SELECT '0' AS PROPERTYDETAILID
,'SELECT PROPERTYDETAIL' AS PROPERTYNAME
UNION
SELECT PROPERTYDETAILID
,PROPERTYDETAIL.PROPERTYNAME
FROM PROPERTYDETAIL
JOIN SITEDETAIL ON PROPERTYDETAIL.SITEDETAILID = SITEDETAIL.SITEDETAILID
WHERE PROPERTYDETAIL.ISACTIVE = 1
AND PROPERTYDETAIL.SITEID = 6
AND SITEDETAIL.ISACTIVE = 1
AND CUSTOMERID = 0
ORDER BY CASE PROPERTYNAME WHEN 'SELECT PROPERTYDETAIL' THEN 1 END, PROPERTYNAME
with aa as(
SELECT '0' AS PropertyDetailId, 'Select PropertyDetail' as PropertyName
UNION SELECT PropertyDetailId,PropertyDetail.PropertyName
FROM PropertyDetail join SiteDetail ON
PropertyDetail.SiteDetailId = SiteDetail.SiteDetailId WHERE
PropertyDetail.IsActive = 1
AND PropertyDetail.SiteId = 6
AND SiteDetail.IsActive = 1
AND CustomerId = 0
)
Select * from aa
ORDER BY (case when PropertyDetailId='0' then PropertyDetailId else PropertyName end)