MS SQL 2008 R2 - Abfrage mit 2 Tables und Parametern

Hallo,

ich hoffe ihr könnt mir bei folgendem Problem weiterhelfen.

Ausgangsituation:

ich habe 2 Tables ( tblName, tblComments )

Code:
# tblName

| ID | Name
---------------
| 1  | Harald |
| 2  | Klaus  |
| 3  | Max    |
---------------

# tblComments

| ID | Comments                |
--------------------------------
| 1  | Harald, Max, Karl, Heinz|
| 2  | Klaus, Dieter, Max      |
| 3  | Max, Klaus, Joseph      |
--------------------------------

Auf dem Server will ich eine Ansicht bauen die, welche mir die Anzahl an Datensätze auswirft wie oft der Name aus tblName in den Comments aus der tblComments vorkommt.

Bsp:
Code:
| Name   | Anzahl |
-------------------
| Harald |    1   |
| Max    |    3   |
| Klaus  |    2   |
-------------------

Einen query zu schreiben der mir die Anzahl eines Parameters ( zBsp: Max ) ist einfach:
Code:
SELECT COUNT(*) FROM tblComments WHERE Comments LIKE '%Max%'

Aber Leider ist es mir noch nicht gelungen es in einer Ansicht als Spalte anzuzeigen.

Über Hilfe wäre ich Dankbar.

mfg Marcaurel
 
Ich habs gefunden ...

Code:
CREATE TABLE #DUMP ( Name nvarchar(max), Anzahl int)
	DECLARE @NAME nvarchar(max)
	DECLARE @ANZAHL Int
	DECLARE @DUMMY nvarchar(MAX)
	
	DECLARE myCursor CURSOR
		FOR SELECT NAME
		FROM tblName
			
	OPEN myCursor
	FETCH NEXT FROM myCursor INTO @NAME	
	WHILE @@FETCH_STATUS = 0
	BEGIN
		PRINT @NAME
		SET @DUMMY = '%' + @NAME + '%'
		SELECT @ANZAHL = COUNT(*) FROM tblComments WHERE dbo.tblComments.Comment LIKE @DUMMY
		PRINT @ANZAHL
		
		INSERT INTO #DUMP (Name, Anzahl) VALUES (@NAME, @ANZAHL)
		
		FETCH NEXT FROM myCursor INTO @NAME
	END
	CLOSE myCursor
	DEALLOCATE myCursor
	
	SELECT * FROM #DUMP 
	
DROP TABLE #DUMP
 

Neue Beiträge

Zurück