创建一个SQL查询,检查选择的单词串的列名

时间:2011-06-10 08:28:54

标签: sql sql-server-2008

此刻我的数据格式(av_version是nvarchar)

company    av_version
company1   8.5.0.440
company1   8.5.0.332
company1   8.5.0.232
company1   8.5.0.111
company2   10.0.0.1509
company2   10.0.0.2323
company2   10.0.0.1232
company2   10.0.0.2253
company3   8.5.0.232
company3   10.0.0.2253

我需要的是一个查询,它将检查该公司的AV版本的所有条目,如果报告8.5.0甚至一次,那么它将显示为一个独立的公司。在示例数据中,company1和company3将是返回的列表。这里的难点是av版本的结尾可能是任何东西。任何帮助表示赞赏

3 个答案:

答案 0 :(得分:2)

您可以使用LIKE

av_version LIKE '8.5.0%'

答案 1 :(得分:0)

您可以创建包含select语句的select语句。例如,假设表名是“avcom”。

select company, hc_version, max(av_version) as av_version
from 
(
    select company, av_version, '8.5.0' as hc_version
    from avcom
    where av_version like '8.5.0%'
)
group by company, hc_version

查询未经过测试!此外,我假设您可能需要类似最新/最大版本号(max(av_version))的结果以及修复后的“8.5.0”结果。

答案 2 :(得分:0)

SELECT DISTINCT company
FROM atable
WHERE av_version = '8.5.0'
   OR av_version LIKE '8.5.0.%'