1
このタイプの質問は重複していますが、 。だから私はそれを投稿します。サブクエリが、=、!=、<, <= , >、> =、またはサブクエリがSQLクエリの式として使用されている場合は、これは許可されていません
私の質問は、SQL ServerでSQL Serverのクエリを実行しているときに、見出しのエラーが表示されることです。私は物事の多くを見つけるが、仕事をしなかった。ここで
は
select
trandate, shortdescr, ref as BillNo,
f.companyname, h.brnchname,
tranno, AccName,
sum(dramount) as NetAmount, sum(SGST) GstAmt,
sum(CGST) CstAmt, sum(IGST) IGstAmt, s.SeriesName
from
(select
trandate, shortdescr, ref, dramount, CompanyID,
brnchid, accountid, refaccountid, tranno, seriesid,
case
when accountid = (select top 1 gcsysdescription
from systemparameters
where gcsysvar = 'SGST')
then dramount - cramount
else 0
end as SGST,
case
when accountid = (select top 1 gcsysdescription
from systemparameters
where gcsysvar = 'CGST')
then dramount - cramount
else 0
end as CGST,
case
when accountid = (select top 1 gcsysdescription
from systemparameters
where gcsysvar = 'IGST')
then dramount - cramount
else 0
end as IGST,
case
when srno = 1 --=(select top 1 gcsysdescription from systemparameters where gcsysvar='IGST')
then (select accmas.accountname
from accountdet accdet
left outer join accountmaster accmas on accmas.accountid = accdet.accountid
where accdet.srno = 1 and accdet.seriesid = 19)
end as AccName
from
accountdet) as abc
left outer join
companymaster F on abc.CompanyID = F.companyid
left outer join
brnchmst H on abc.brnchid = H.brnchid
left outer join
Accountmaster a on abc.accountid=a.accountid
left outer join
SeriesMaster s on abc.SeriesID=s.SeriesID
where
abc.companyid = 37
and abc.brnchid in (7, 9, 8, 3, 4)
and abc.seriesid = 19
and convert(varchar(10), trandate, 112) >= '20170920'
and convert(varchar(10), trandate, 112) <= '20180331'
and a.EntryType <> 'D'
and abc.dramount <> 0
group by
trandate, shortdescr, ref, f.companyname, h.brnchname, tranno, s.seriesname, AccName
は、この問題を解決するために私を助けてください、私のクエリです。
ありがとうございます。
これらのサブクエリのうち少なくとも1つが複数の行を返しています。おそらくそれはトップ1を持っていないものです。他のすべての場合、トップ1がありますが、順序はありませんので、どの行を取得するかを決める方法がありません。すべての日付をvarcharに変換しているため、where句にnonSARGable述語もあります。代わりに、文字列リテラルを日付に変換して、trandateでインデックスを利用できますか? –
テーブルスキーマとは何ですか? – Amit