sql 服务器中的加入查询问题

Issue in sql server with join query

我有 四个 tables 用于加入我正在尝试 加入sql 服务器中的视图 .我已成功完成连接查询并使用连接查询从多个 table 检索数据。但是我执行相同的查询 sql 服务器每次都显示不同的结果。

SELECT DISTINCT 
               dbo.tbl_verifyFinger2.ID
             , dbo.tbl_verifyCnicDetails.fID
             , dbo.tbl_verifyCnicDetails.colGRName
             , dbo.tbl_verifyFinger2.colCompanyID
             , dbo.tbl_verifyAvailableFingers.colCNIC
             , dbo.tbl_agent.agent_id
             , dbo.tbl_agent.colIMSI
             , dbo.tbl_verifyFinger2.colDate
             , dbo.tbl_verifyFinger2.colStatusMessage
FROM dbo.tbl_verifyFinger2 
INNER JOIN dbo.tbl_verifyCnicDetails      
                         ON dbo.tbl_verifyFinger2.ID = dbo.tbl_verifyCnicDetails.fID 
INNER JOIN dbo.tbl_verifyAvailableFingers 
                         ON dbo.tbl_verifyFinger2.colCNIC = dbo.tbl_verifyAvailableFingers.colCNIC 
INNER JOIN dbo.tbl_agent 
                         ON dbo.tbl_verifyAvailableFingers.colIMSI = dbo.tbl_agent.colIMSI

原因SQL服务器不允许在视图中使用ORDER By子句,要每次都获得相同的结果预览,您必须在外部SELECT中包含ORDER BY子句]查询,在查询结束时。

当然要慎重选择ORDER BY子句中的列,因为它必须是确定性的,保证每次排序的结果都是一样的,上下移动你的行不会出现更多。

SELECT
    *
FROM schema_name.view_name AS v
ORDER BY
    v.column_name (ASC|DESC) --If ommiting directions, ASC is the default