Ich habe derzeit Daten in der Tabelle A sitzen wie die unten.TSQL Suche nach Elementen nicht ausgewählt
Title_1 | Contract A
Title_1 | Contract B
Title_1 | Contract C
Title_2 | Contract A
Title_2 | Contract D
Ich bin mit
SELECT DISTINCT T2.Title, SUBSTRING(
SELECT '; ' + Contract as [text()]
FROM dbo.TitleContracts T1
WHERE T1.Title = T2.Title
AND Contract IN (
SELECT Contract FROM dbo.ValidContracts
)
FOR XML PATH ('')
), 2, 1000) [ContractList]
FROM dbo.TitleContracts T2
der obigen Abfrage der Daten in die folgenden Ergebnisse zu verwandeln. Ich versuche jedoch auch, die Liste der Verträge für jeden Titel mithilfe der Tabelle "ValidContracts" zu finden, die nicht ausgewählt wurde. Also, wenn wir Vertrag AD haben, dann würde Title_1 zurückkehren Vertrag D und Title_2 würde Vertrag B & Vertrag C.
Title_1 | Contract A; Contract B; Contract C
Title_2 | Contract A; Contract D
Ich bin wahrscheinlich weit über das Denken zurückkommen, aber nichts, was ich versucht habe, scheint mir nehmen zu werden in die richtige Richtung. Ich bitte Sie nicht, meinen Code zu schreiben, aber ein Anstupsen in die richtige Richtung wäre erstaunlich.
Haben Sie eine Lookup-Tabelle von Verträgen haben, oder ist der einzige Weg, zu wissen, dass ein Vertrag fehlt, dass einige andere Titel in TableA es hat? Sie erwähnen eine "ValidContracts" -Tabelle. Was enthält diese Tabelle? –
Meinst du "NICHT IN"? –
@TabAlleman Die Tabelle dbo.ValidContracts enthält eine Liste aller derzeit aktiven Verträge. – eknofsky