Doppelte Einträge einer Tabelle zählen und mit anderer vergleichen
ich habe folgende Situaltion:
Aus einer Datenbanktabelle möchte ich alle doppelten Einträge zählen lassen, sodass eine neue Spalte "Anzahl" entsteht
dann soll diese Ansicht mit einer anderen Tabelle verglichen werden in der aber nur die Bisherigen Spalten vorkommen (also ohne "Anzahl")
sodass Einträge, die in beiden Tabellen vorkommen nicht angezeigt werden.
Das zählen hat mit:
select Name, Version, count(Name) as Anzahl from Programmliste group by Name, Version
gut funktioniert und ich erhalte eine Ansicht mit den Spalten "Name, Version, Anzahl"
wenn ich dann mit
except Name, Version from Programmliste2
diese Ansicht mit der zweiten Liste vergleichen möchte bekomme ich ein Fehler, dass in der Programmliste2 die Spalte Anzahl fehlt.
Am Ende möchte ich die Ansicht mit Name,Version,Anzahl haben aber ohne die Einträge die schon in der Programmliste2 enthalten sind.
Benutzt wird ein MS SQL Server 2008 R2
Schonmal vielen Dank für Hilfe und Ideen
Aus einer Datenbanktabelle möchte ich alle doppelten Einträge zählen lassen, sodass eine neue Spalte "Anzahl" entsteht
dann soll diese Ansicht mit einer anderen Tabelle verglichen werden in der aber nur die Bisherigen Spalten vorkommen (also ohne "Anzahl")
sodass Einträge, die in beiden Tabellen vorkommen nicht angezeigt werden.
Das zählen hat mit:
select Name, Version, count(Name) as Anzahl from Programmliste group by Name, Version
gut funktioniert und ich erhalte eine Ansicht mit den Spalten "Name, Version, Anzahl"
wenn ich dann mit
except Name, Version from Programmliste2
diese Ansicht mit der zweiten Liste vergleichen möchte bekomme ich ein Fehler, dass in der Programmliste2 die Spalte Anzahl fehlt.
Am Ende möchte ich die Ansicht mit Name,Version,Anzahl haben aber ohne die Einträge die schon in der Programmliste2 enthalten sind.
Benutzt wird ein MS SQL Server 2008 R2
Schonmal vielen Dank für Hilfe und Ideen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175700
Url: https://administrator.de/contentid/175700
Ausgedruckt am: 22.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
aber ohne die Einträge die schon in der Programmliste2 enthalten sind.
SELECT
p1.*
FROM programmliste1 p1
LEFT JOIN programmliste2 p2 ON (p1.Name = p2.Name AND p1.Version = p2.Version)
WHERE
p2.Name IS NULL
p2.Version IS NULL