redaktionell aufbereitete Fragen:Struggling mit bedingter Logik
Ich kann die bedingte Logik für meine Frage scheinen, um herauszufinden.
Ich bin mir sicher, dass das einfach ist, aber ich habe meine Räder zu lange gedreht - es ist nur einer dieser Tage.
Jede Hilfe wird immer geschätzt.
CURRENT QUERY:
SELECT
r.WidgetPK
,r.WidgetName
,r.WeightRateFlag [WeightRateFlag]
,r.Rate [Rate]
,r.Breakpoint [Breakpoint]
,MAX(ISNULL(f.ShippingFee,0)) [ShippingFee]
,MAX(ISNULL(f.OtherFee,0)) [OtherFee]
,MAX(r.weight) [Weight]
FROM
#Rates r
LEFT JOIN #Fees f ON f.WidgetPK = r.WidgetPK
ich die GROUP BY links der Einfachheit halber aus.
Wenn das WeightRateFlag in jeder Zeile für jedes WidgetPK eine 1 enthält, werden alle Zeilen mit einer 0 nicht zurückgegeben. Wenn das WeightRateFlag keine Zeilen mit einer 1 enthält, werden ALLE Zeilen zurückgegeben.
Entschuldigung die ursprüngliche Frage war nicht klar - Suchen helfen nicht und ich fragte einen Mitarbeiter. Ich denke, mein Problem könnte nur sein, dass ich hier und bei meinen Recherchen die falsche Frage stelle.
Bitte geben Sie eine [mcve] (dh Eingabe, erwartete Ausgabe und Abfrage, die Sie bisher haben) und markieren Sie Ihre RDBMS-Plattform. – Igor
Erwägen Sie die Verwendung einer UNION Alle, erste Abfrage erhält die mit einer 1 und die zweite Abfrage schließt alle Datensätze aus, die eine haben 1 – HLGEM
@HLGEM eine UNION ALL ist, was mich zu diesem Punkt die #Rates Temp-Tabelle ist die Union von 2 anderen Tabellen. Ich habe die Tabellen weder erstellt, noch habe ich Bearbeitungsmöglichkeiten. Die meisten WidgetPKs sind in der ersten Tabelle in der UNION und eine Handvoll sind in der zweiten, aber wenn sie in der zweiten sind, sind sie auch in der ersten – DRT