2017-08-21 6 views
0

SQL Serverのビューで選択行を実行しているときにタイトルエラーが発生します。サブクエリの後に=、!=、<,<=,>、> =またはサブクエリを式として使用すると、サブクエリは1つ以上の値を返しました

は、ここでは、テーブルからのビューを作成するために、このコードは、今、私のコード

CREATE VIEW vw_cashbook AS 
SELECT cashbooktranno, 
     cashbookdate, 
     cashbookrefaccname, 
     cashbookgroupname, 
     cashbookaccname, 
     cashbookdescription, 
     cashbookreceipt, 
     cashbookpayment, 
     (select sum(cashbook.cashbookreceipt) - sum(cashbook.cashbookpayment) from tbl_cashbook) as totalpayment, 
     company.companyname 
FROM tbl_cashbook cashbook 
    LEFT OUTER JOIN tbl_companyregistration company 
       ON cashbook.branchid = company.companyid 
group by cashbooktranno, cashbookdate, cashbookrefaccname, cashbookgroupname, cashbookaccname, 
cashbookdescription, cashbookreceipt, cashbookpayment, company.companyname 

です。 このコードは非常に完璧なので、コードごとに私のビューも作成されています。 が今、問題は、私が作成したビューから行を選択するか、その時点でビューを編集していたときに、エラーが表示されていることを

あるサブクエリは複数の値を返しました。 =、!=、<、< =、>、> =、またはサブクエリが式として使用されている場合は、これは許可されません。

はここだから私のクエリのいずれかの問題があるか、他の問題があるビュー

SELECT TOP 1000 [cashbooktranno] 
     ,[cashbookdate] 
     ,[cashbookrefaccname] 
     ,[cashbookgroupname] 
     ,[cashbookaccname] 
     ,[cashbookdescription] 
     ,[cashbookreceipt] 
     ,[cashbookpayment] 
     ,[totalpayment] 
     ,[companyname] 
    FROM [AutoFinanceSoftware].[dbo].[vw_cashbook] 

のための私の選択クエリです。

+0

あなたは私たちにあなたがこのビューから選択してくださいに使用しているクエリを表示することができますか? –

+0

ビューを作成したときにエラーが発生しましたか? –

+0

@MartinBrown私の質問で選択したクエリを更新しました。 –

答えて

2

サブクエリーの必要はありません。用途:

CREATE VIEW vw_cashbook AS 
SELECT cashbooktranno, 
     cashbookdate, 
     cashbookrefaccname, 
     cashbookgroupname, 
     cashbookaccname, 
     cashbookdescription, 
     cashbookreceipt, 
     cashbookpayment, 
     sum(cashbook.cashbookreceipt) - sum(cashbook.cashbookpayment) as totalpayment, 
     company.companyname 
FROM tbl_cashbook cashbook 
    LEFT OUTER JOIN tbl_companyregistration company 
       ON cashbook.branchid = company.companyid 
group by cashbooktranno, cashbookdate, cashbookrefaccname, cashbookgroupname, cashbookaccname, 
cashbookdescription, cashbookreceipt, cashbookpayment, company.companyname; 

たり(両方の列がNOT NULLある場合):

CREATE VIEW vw_cashbook AS 
SELECT cashbooktranno, 
     cashbookdate, 
     cashbookrefaccname, 
     cashbookgroupname, 
     cashbookaccname, 
     cashbookdescription, 
     cashbookreceipt, 
     cashbookpayment, 
     sum(cashbook.cashbookreceipt - cashbook.cashbookpayment) as totalpayment, 
     company.companyname 
FROM tbl_cashbook cashbook 
    LEFT OUTER JOIN tbl_companyregistration company 
       ON cashbook.branchid = company.companyid 
group by cashbooktranno, cashbookdate, cashbookrefaccname, cashbookgroupname, cashbookaccname, 
cashbookdescription, cashbookreceipt, cashbookpayment, company.companyname 
+1

素晴らしいです。完了しました。ありがとうございました。 :) –

関連する問題