2017-07-25 79 views
0
SELECT   
    dbo.PaymentMaster.Code, 
    dbo.PaymentMaster.OrderNo, 
    dbo.PaymentMaster.CustIssueNo, 
    dbo.PaymentMaster.Amount, 
    dbo.CustomerMaster.CustName, 
    dbo.OrderRequestMaster.ORequestQty, 
    InvoiceMaster.SGST, 
    InvoiceMaster.CGST, 
    InvoiceMaster.SGST, 
    InvoiceMaster.SubTotal, 
    InvoiceMaster.TotalAmount 
FROM 
    dbo.CustomerIssueMaster, 
    dbo.PaymentMaster, 
    dbo.CustomerMaster, 
    dbo.OrderMaster, 
    dbo.OrderRequestMaster, 
    InvoiceMaster 
WHERE (dbo.PaymentMaster.CustIssueNo = dbo.CustomerIssueMaster.CustIssueNo 
    OR OrderMaster.OrderNo = PaymentMaster.OrderNo) 
    AND OrderRequestMaster.ORequestNo = OrderMaster.ORequestNo 

我想創建所有條件應該匹配的發票,但是當有一行應該作爲結果給出時,我沒有得到任何行。如何創建發票

我從支付大師那得到了這個結果。並且我想在發票主文件夾中包含發票主文件夾的客戶信息,訂單請求信息,訂單信息和付款信息,例如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 

我得到這個結果

+3

**備註**:始終使用*顯式連接*語法,而不是舊的基於逗號的連接。 – GurV

+1

這是非ansi兼容的語法,並在其上面進行交叉連接。 – Alex

+0

請參閱我的編輯。除非你自己做更多的工作,否則我不會再打擾 –

回答

0

如果沒有,我們將是非常很難幫助任何數據。你說一行應該符合條件,但是很難看到只有一條記錄會被返回,除非你的表只有一條記錄!

我從你的查詢中注意到你想要CustName,而不在你的WHERE子句中包含CustomerMaster - 這會導致麻煩!

請在查詢窗口中使用以下代碼並添加任何重要的缺失字段。然後創建一些INSERT行來填充。重新發布這使我們可以幫你做你想要的查詢:

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 

編輯

請注意我已經修改@PaymentMaster的結構和給定的三個插入模仿你的數據顯示從SELECT * FROM PaymentMaster,有一個例外:我不明白你的PaymentDate應該是什麼格式。前兩個看起來像時間,但第三個不能。我只是停留在一個虛擬的日期。

現在你可以請同樣的其他表格嗎?我已經向您展示了您需要使用的格式。

+0

沒有使用custname bcz paymentmaster中沒有custno。 – Nikita

+0

你的意思是custissueno? –

+0

請問你能照我的要求嗎?否則,我不明白如何幫助你。 –