2009-08-03 18 views
2

私は、次の接頭辞を持つすべてのdirnameのものを引っ張って私のクエリを必要とする「サイト/テスト/テスト/」 正しい構文である「*」SQLクエリ、ワイルドカード、MS SQL Server 2005の

SELECT DirName, count(*) AS FileCount, SUM(Size)/1024 as 'SizeKB' 
FROM alldocs 
Where DirName = 'site/test/test/*' 
GROUP BY dirName 
ORDER BY DirName 

答えて

5

ますSQLのLIKE句を使用する必要があります。

SELECT DirName, count(*) AS FileCount, SUM(Size)/1024 as 'SizeKB' 
FROM alldocs 
Where DirName LIKE 'site/test/test/%' 
GROUP BY dirName 
ORDER BY DirName 

http://www.sql-tutorial.net/SQL-LIKE.asp

+0

パーフェクト!ありがとう –

+0

'SizeKB'の列合計を簡単に含めることができましたか? –

+0

@MG - コメントスペースを使って話題以外の議論を避けるために、別の質問でそれを聞いたほうがよい。 – karim79

0

を参照してください、あなたはMySQLを使用していますか?もしあなたがそうであれば、左のように使うことができます

 
SELECT DirName, count(*) AS FileCount, SUM(Size)/1024 as 'SizeKB' 
FROM alldocs 
Where LEFT(DirName, LENGTH('site/test/test/')) = 'site/test/test/' 
GROUP BY dirName 
ORDER BY DirName 
+0

MS SQL Serverは長さ関数を認識しません。 –