2011-06-10 62 views
1

我的數據的格式的選擇字符串檢查列名的SQL查詢(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版本的結束可能是任何事情。任何幫助表示讚賞

回答

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 

查詢未經測試!另外,我認爲除了固定的「8.5.0」結果之外,您可能還需要類似最新/最大版本號(max(av_version))的結果。

2

您可以使用LIKE

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