【问题标题】:How to resolve sorting comparison issues between two many to many tables如何解决两个多对多表之间的排序比较问题
【发布时间】:2020-12-22 02:31:28
【问题描述】:

所以我有这个查询,它将一个表 (VIEW_ALL_FILES) 中的软件版本与主参考表 (SRV_MASTER_VERSION_LIST) 进行比较,并通过一些逻辑来标记匹配的好坏。我只是比较软件名称(SRV_CMBNAME)。

我遇到的问题是,虽然比较似乎在某些情况下有效,但在某些情况下它不是由于 SRV_CURRENTVERSION 和 SRV_CMBRECOMMENDEDREVERSION 列的并列(见图)。

SELECT VIEW_ALL_FILES.SRV_CMBNAME,
VIEW_ALL_FILES.SRV_CMBPRODVERSION AS SRV_CURRENTVERSION,
SRV_MASTER_VERSION_LIST.SRV_UPDATEDVERSION AS SRV_CMBRECOMMENDEDVERSION,
IIf([SRV_CMBPRODVERSION]=[SRV_UPDATEDVERSION],'Current','Requires Update') AS SRV_CMBVERSIONVALIDATIONFLAG,
VIEW_ALL_FILES.SRV_CMBRELEASE,
VIEW_ALL_FILES.SRV_CMBPUBLISHER,
VIEW_ALL_FILES.SRV_CMBINSTALLDATE,
VIEW_ALL_FILES.SRV_CMBDATATYPE,
IIf([SRV_CMBRELEASE]=[SRV_UPDATEDVERSION],'Current','Requires Update') AS SRV_CMBRELEASEVALIDATIONFLAG
FROM VIEW_ALL_FILES LEFT JOIN SRV_MASTER_VERSION_LIST
ON VIEW_ALL_FILES.SRV_CMBNAME = SRV_MASTER_VERSION_LIST.SRV_CMBNAME
WHERE SRV_CMBDATATYPE = 'Software'
AND SRV_CMBPRODVERSION != ''
AND SRV_UPDATEDVERSION IS NOT NULL
AND SRV_CMBDN = 'hamburgerlane1'
GO

我不确定从连接发生的位置从哪里解决这个问题(排序,顶部?)。这里的挑战是我在两个表之间的软件名称和版本上有多对多的关系。

【问题讨论】:

    标签: sql sql-server select plsql


    【解决方案1】:

    通过添加一个额外的搜索键来解决。如果匹配项不相加,则会生成空值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      相关资源
      最近更新 更多