filtern Ich bin sehr neu zu SQL, so dass ich nicht sicher bin, wie ich meine Frage für eine Google-Suche einrahmen soll. Grundsätzlich versuche ich UNION zwei Sätze von Spalten. Sie haben sehr ähnliche Informationen; Set A ist eine Reihe von Produkten mit einer Spalte für den Anbieter. Set B ist eine Serie von Produkten ohne Anbieter.SQL: Wie nach Spalte mit einer Union
Was ich tun möchte, ist Filtersatz A, so dass nur die Produkte eines bestimmten Anbieters angezeigt werden (was ich mit einer WHERE-Klausel gemacht habe). Aber dann möchte ich die Vereinigungsmenge A und die Vereinigungsmenge B so zusammenführen, dass die Werte in Menge B nur dann angezeigt (und kombiniert) werden, wenn in Satz A für das Produkt ein Eintrag vorhanden ist.
Das heißt, um besser zu erklären, möchte ich, dass Set B "Set A" betrachtet. Es wird sehen, dass Set A nur Elemente von einem bestimmten Anbieter hat und Set B dann Elemente entfernen, die Set A nicht hat (Artikel, die NICHT von diesem Anbieter stammen).
Irgendwelche Gedanken? Vielen Dank,
-Code unten:
SELECT ([Transfer_From]
,'Transfer_To' = [WAREHOUSE_CODE]
,'Product_Number' = [PRODUCT_NUMBER]
,'QTY_Trans' = [quantity_received]
,'Transfer_Date' = [received_date]
FROM [fstrkdb_1].[dbo].[Inventry]
WHERE vendor_number = '1074'
UNION
SELECT [Transfer_From]
,[Transfer_To]
,[Product_Number]
,'QTY_Trans' =[Quantity_Allocated]
,[Transfer_Date]
FROM [fstrkdb_1].[dbo].[InvtransFromWhs]
ORDER BY Transfer_Date
GO
Welcher RDBMS ist das (sieht aus wie SQL Server basierend auf der [] Verwendung) Dies könnte durch einen gemeinsamen Tabellenausdruck mit einem Join möglich sein. – xQbert
Können Sie einige Beispieldaten und die erwartete Ausgabe geben? – Bohemian