2009-08-03 8 views
2

Je dois ma requête pour tirer tous les DirName de ce que le préfixe suivant 'site/test/test /' est la syntaxe correcte d'un '*'requête SQL, caractère générique, 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 

Répondre

5

Vous besoin d'utiliser la clause LIKE de SQL:

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

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

+0

Parfait! Merci –

+0

Est-ce qu'il était facile d'inclure un total de colonnes pour 'SizeKB'? –

+0

@MG - mieux si vous posez cette question dans une autre question, pour éviter une discussion hors sujet en utilisant l'espace de commentaire. – karim79

0

vous utilisez MySQL? Si vous êtes, vous pouvez utiliser gauche dans quelque chose comme

 
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

Le serveur SQL MS ne reconnaît pas la fonction de longueur. –