2017-07-25 9 views
0

Ich möchte Rechnung erstellen, wo alle Bedingungen übereinstimmen sollten, aber ich habe keine Zeile erhalten, wenn es eine Zeile gibt, die als Ergebnis angegeben werden soll.So erstellen Sie eine Rechnung

Ich habe dieses Ergebnis aus Zahlung Master. und ich möchte Kundeninformationen, Bestellanforderungsinformationen, Bestellinformationen und Zahlungsinformationen im Rechnungsstamm mit dem Rechnungsmasterfeld, d. h. Code, InvoiceNo, CustNo, InvoiceDate, SubTotal, CGST, SGST, TotalAmount.

Code PaymentNo  OrderNo  CustIssueNo PaymentMode PaymentStatus Amount PaymentDate InvoiceNo InvoiceDate 
4  KCS[P][00004] NULL   KCS[CI][00001] Cash  Paid   500 14:28.3  NULL  NULL 
5  KCS[P][00005] KCS[O][00001] NULL   Cash  Paid   2000 22:33.9  NULL  NULL 
6  KCS[P][00006] KCS[O][00002] NULL   Cash  Paid   2000 40:38.1  NULL  NULL 

Ich habe diese

sein werden
+3

** Seitennotiz **: Verwenden Sie immer * explizite Join * -Syntax anstelle von alten Komma-basierten Joins. – GurV

+1

Dies ist eine nicht ansi-konforme Syntax und ein Cross-Join darüber. – Alex

+0

Bitte sehen Sie meine Edit. Wenn Sie nicht selbst ein wenig mehr arbeiten, werde ich nicht mehr stören. –

Antwort

0

Ohne Daten Ergebnisse, die wir sehr schwer zu helfen. Sie sagen, dass eine Zeile die Kriterien erfüllen sollte, aber es ist sehr schwer zu sehen, wie nur ein Datensatz zurückgegeben wird, es sei denn, Ihre Tabellen haben nur einen Datensatz!

Ich vermerke aus Ihrer Abfrage, dass Sie CustName wollen, ohne CustomerMaster in Ihre WHERE-Klausel aufzunehmen - dies wird zu Problemen führen!

Bitte verwenden Sie den folgenden Code in einem Abfragefenster und fügen Sie fehlende Felder hinzu, die wichtig sind. Dann erstellen Sie einige INSERT-Zeilen zum Auffüllen. Re-post dies, damit wir Sie mit einer Abfrage helfen, das tut, was Sie wollen:

declare @CustomerIssueMaster table 
(
CustIssueNo int 
) 
declare @PaymentMaster table 
(
Code int, 
PaymentNo varchar(50), 
OrderNo varchar(50), 
CustIssueNo varchar(50), 
PaymentMode varchar(50), 
PaymentStatus varchar(50), 
Amount decimal (18,2), 
PaymentDate datetime, 
InvoiceNo int, 
InvoiceDate datetime 
) 
declare @CustomerMaster table 
(
CustName varchar(50) 
) 
declare @OrderRequestMaster table 
(
ORequestQty int, 
ORequestNo int 
) 
declare @InvoiceMaster table 
(
SGST decimal(18,2), 
CGST decimal(18,2), 
SubTotal decimal(18,2), 
TotalAmount decimal(18,2) 
) 
declare @OrderMaster table 
(
OrderNo int 
) 



INSERT INTO @PaymentMaster VALUES(4, 'KCS[P][00004]', NULL, 'KCS[CI][00001]','Cash','Paid',500,'2014-03-28', NULL, NULL) 
INSERT INTO @PaymentMaster VALUES(5, 'KCS[P][00005]', 'KCS[O][00001]', NULL, 'Cash','Paid',2000,'2014-03-28', NULL, NULL) 
INSERT INTO @PaymentMaster VALUES(6, 'KCS[P][00006]', 'KCS[O][00002]', NULL, 'Cash','Paid',2000,'2014-03-28', NULL, NULL) 

SELECT * FROM @PaymentMaster 

EDIT

Bitte beachten Sie, ich habe die Struktur der @PaymentMaster geändert und angesichts drei fügt die Daten, die Sie zu imitieren Show von SELECT * FROM PaymentMaster, mit einer Ausnahme: Ich verstehe nicht, welches Format Ihr PaymentDate sein soll. Die ersten beiden sahen wie Zeiten aus, aber die dritte kann nicht sein. Ich steckte stattdessen einfach in ein Dummy-Date.

Nun werden Sie bitte das gleiche für die anderen Tabellen tun? Ich habe dir das Format gezeigt, das du verwenden musst.

+0

habe nicht custname bcz verwendet, es gibt kein custno in paymaster. – Nikita

+0

Meinst du custissueño? –

+0

Bitte können Sie tun, wie ich frage? Ansonsten sehe ich nicht, wie ich dir helfen kann. –

Verwandte Themen