habe ich eine Tabelle, tblNewParts
mit 3 Spalten:SQL Server: Wählen Sie ... Von mit FULL JOIN mit einem Standardwert für eine Spalte
NewCustPart
AddedDate
Handled
und ich versuche zu FULL JOIN
es zu einer vorhandenen Tabelle, tblPartsWorkedOn
. tblNewParts
wird definiert 'N'
notleidenden behandelt werden ...
SELECT *
FROM dbo.tblPartsWorkedOn AS BASE
FULL JOIN dbo.tblNewParts AS ADDON ON BASE.[CustPN] = ADDON.[NewCustPart]
WHERE ADDON.[Handled] IS NULL
ORDER BY [CustPN] DESC
Und ich möchte das Feld [Handled]
zurück als 'N'
statt NULL
kommen, wenn ich die Abfrage ausführen. Das Problem ist, dass, wenn keine Datensätze in der neuen Tabelle sind, ich NULL
's statt 'N'
s bekomme.
Ich sah eine SELECT CASE WHEN col1 IS NULL THEN defaultval ELSE col1 END
als eine meist geeignete Antwort von here. Ich frage mich, ob das in diesem Fall funktioniert, und wie würde ich das in T-SQL für SQL Server 2012 schreiben? Ich brauche alle Spalten von beiden Tabellen, anstatt nur die eine.
Ich mache dies eine Frage, anstatt einen Kommentar auf den zitierten Link, um nicht die ursprüngliche Link-Frage zu verschleiern.
Vielen Dank für Ihre Hilfe!
Was hält Sie davon ab, diese Lösung zu versuchen? –
@IvanStarostin immer noch ziemlich neu in SQL, und Wände schlagen, weil es nicht eine vollständige Programmiersprache ist, bat ich um Hilfe und ging dann los, um die Dinge auch zu versuchen. Ich habe meine "Antwort" gepostet, wie es jetzt für mich funktioniert, und ich hoffe, dass es für andere, die denken, dass ich es tue, und nicht für den typischen SQL-Programmierer bleibt. : D – Michieal
Fühlen Sie sich frei, einige weitere Antworten mit Demonstration der 'ISNULL' und' COALESCE' Funktionen zu veröffentlichen. –