Ich möchte ein Abfrageergebnis, insbesondere die RMA-Nummer (oe_line.order_no) aus Abfrage1 nehmen und dann dieses Ergebnis in der Abfrage2 where -Anweisung verwenden und dann beide Abfragen zusammenfügen . Hier ist mein Code;Kombinieren eines SQL-Abfrageergebnisses in eine andere Abfrage - Join
select *
from
(
SELECT
customer.customer_name 'Customer Name',
invoice_line.invoice_no 'Invoice Number',
invoice_line.order_no 'Invoice Order Number',
invoice_line.qty_requested 'Invioice Qty Ordered',
invoice_line.extended_price 'Invoice Extended Price',
invoice_line.item_desc 'Invoice Item Desc',
oe_hdr.taker 'Order Taker',
oe_hdr.location_id 'Sales Location ID',
oe_hdr.source_location_id 'Source Location ID',
oe_line.order_no 'RMA Number',
oe_line.qty_ordered 'RMA Quantity',
oe_line.extended_price 'RMA Extended Price',
oe_line.extended_desc 'Extended Desc'
FROM oe_line
INNER JOIN oe_line_rma ON (oe_line_rma.oe_line_uid = oe_line.oe_line_uid)
INNER JOIN invoice_line ON (invoice_line.invoice_line_uid = oe_line_rma.invoice_line_uid)
INNER JOIN oe_hdr ON (oe_hdr.order_no = oe_line.order_no)
INNER JOIN customer ON (customer.customer_id = oe_hdr.customer_id)
where CONVERT(varchar(10), oe_line_rma.date_created,101) = '09/22/2016' /* CONVERT(VARCHAR(10),GETDATE(),101)*/
) rsQuery1
FULL OUTER JOIN
(
SELECT
oe_hdr.order_no, oe_hdr.taker 'RMA Order Taker',
oe_hdr.location_id 'RMA Credit Location',
oe_hdr.source_location_id 'RMA Source Location'
from oe_hdr
where oe_hdr.order_no = rsQuery1.[RMA Number] /* result from RMA Number on rsQuery1 */
) rsQuery2 on rsQuery1.[RMA Number] = rsQuery2.order_no
Meine gewünschte Ausgabe würde dies so aussehen;
| Customer Name | Invoice Number | Invoice Order Number | Invoice Qty Ordered | Invoice Extended Price | Invoice Item Desc | Order Taker | Sales Location ID | Source Location ID | RMA Number | RMA Quantity | RMA Extended Price | Extended Desc | Order_no | RMA Order Taker | RMA Credit Location | RMA Source Location |
|---------------|----------------|----------------------|---------------------|------------------------|-------------------|-------------|-------------------|--------------------|------------|--------------|--------------------|----|-------------|----------|-----------------|---------------------|---------------------|
| ABC Company | 4236 | 55995 | 10 | 2000 | Metallic Rings | asmith | 10 | 10 | 6785 | -10 | -2000 | Metallic Rings | 6785 | asmith | 10 | 10 |
Ich kann diese Ausgabe derzeit erreichen, indem ich die Werte in den where-Anweisungen der Abfragen manuell abgleiche. Um die Ausgabe zu erzeugen;
rsQuery1 wo invoice_line.invoice_no = ‚4236‘ rsQuery2 wo oe_hdr.order_no ‚6785‘ =
Mein Ziel, um Daten in rsQuery1 ist auf der Grundlage der rma Erstellungsdatum = heute und nehmen Sie das Ergebnis zu erzeugen das Ergebnis für rsQuery2 aus der RMA-Nummer. Ich werde diese Daten schließlich in eine Tabelle legen, um einen Bericht zu erstellen.
Zeigen Sie uns einige Beispieldaten und erwartetes Ergebnis. Versuchen Sie, ein kleines reproduzierbares Beispiel zu erstellen, damit Sie den Prozess lernen und auf Ihr Problem anwenden können. Bitte lesen Sie [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t Und hier ist ein großartiger Ort, um [** START **] (http : //spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/) um zu erfahren, wie Sie die Qualität Ihrer Fragen verbessern und bessere Antworten erhalten. –
Danke für die Tipps. – Tech77
Sie nicht verstehen, was es einfach bedeuten :( –