DB-TabelleSQL qry Trickl Puzzle
ColA ColB ColC ColD
Null Null Null Null
120 Null Null Null
120 1 Null Null
120 1 5 Null
120 1 5 1
Declare @ColA as Int = 120
--Dieser kann nicht NULL sein, aber es kann etwas 1500 sein, die nicht in db nicht existiert
Declare @ColB as Int = 1
--Dieser NULL sein kann oder es kann etwas 1500 sein, die nicht in db nicht existiert
Declare @ColC as Int = 5
--Dieser NULL sein kann oder es etwas 1500 sein, die nicht in db nicht existiert
Declare @ColD as Int = 1
--Dieser kann NULL oder es kann etwas 1500 sein, die nicht in db mit mehr als einer Spalte
--Rough Entwurf aber nicht funktioniert
SELECT * FROM @TblA
WHERE
@ColA=ColA AND
ISNULL(ColB, @ColB)= @ColB AND
EXISTS(SELECT 1 FROM @TblA WHERE @ColA=ColA)
UNION
SELECT * FROM @TblA
WHERE
ColA IS NULL AND
ISNULL(ColB, @ColB)= @ColB AND
NOT EXISTS (SELECT 1 FROM @TblA WHERE @ColA=ColA)
SQL-Ausgang ist vorhanden --Wenn @ColA = 120
ColA ColB ColC ColD
120 Null Null Null
120 1 Null Null
120 Null 5 3
120 1 5 Null
120 1 Null 4
120 1 5 1
120 1 5 Null
SQL Ausgabe --Wenn @ColA = 1259 @ColA hat Spiel in dieser so Null dB erhalten für ColA
ColA ColB ColC ColD
Null Null Null Null
SQL Output --Wenn @ColA = 120 & @ColB = 1 @ColB in db hat Spiel so für ColA & ColB passende Datensätze erhalten
ColA ColB ColC ColD
120 1 Null Null
120 1 5 Null
120 1 Null 4
120 1 5 1
120 1 5 Null
SQL Output --Wenn @ColA = 120 & @ColB = 178 @ColB hat keine Übereinstimmung in db so erhalten Aufzeichnungen für ColA und Nulls für ColB passend, da es keine ColB ist = 178
ColA ColB ColC ColD
120 Null Null Null
120 1 Null Null
120 Null 5 3
120 1 5 Null
120 1 Null 4
120 1 5 1
120 1 5 Null
SQL Ausgabe --Wenn @ColA = 120 & @ColB = 1 & COLC = 5 erhalten übereinstimmende Datensätze für ColA & ColB & COLC
ColA ColB ColC ColD
120 1 5 Null
120 1 5 1
120 1 5 Null
SQL Ausgabe --Wenn @ColA = 120 & @ColB = 1 & COLC = 500 @ColC hat keine Übereinstimmung in db so passende Datensätze für ColA und ColB bekommen, aber für COLC nicht da da kein COLC = 500
ColA ColB ColC ColD
120 1 Null Null
120 1 5 Null
120 1 Null 4
120 1 5 1
120 1 5 Null
SQL Output --Wenn @ColA = 120 & @ColB = 1 & COLC = 5 & ColD = 1 get passenden Datensätze für ColA & ColB & COLC & ColD
ColA ColB ColC ColD
120 1 5 1
SQL Output --Wenn @ColA = 120 & @ColB = 1 & COLC = 5 & @ColD = 500 hat dann @ColD keine Übereinstimmung in db so passend Records für ColA und ColB & COLC aber nicht für ColD da keine ColD = 500
ColA ColB ColC ColD
120 1 5 Null
120 1 5 1
120 1 5 Null
möglich ??
Werte Irgendwelche Glück????????? – Ken