Ich möchte fragen, wie eine Spalte mit der tickerID
ausgeben.Ausgabespalte für komplexe Abfrage
Ab jetzt habe ich folgendes:
select distinct
mtime,
avg(lastBid) Bid ,
avg(lastAsk) Ask
from
(Select
a.mtime, a.IntradayTime, f.lastBid, f.lastAsk
from
(select
cte.*,
(select top 1 datetime
from IntradayHistory_1min.dbo.IntradayDataHistory' + @product + '_1min' + '
where datetime <= cte.mtime
and TickerID = ' + cast(@ticker as nvarchar(24)) + '
order by datetime desc) as IntradayTime
from
cte) a
left join
Intradayhistory_1min.dbo.IntradayDataHistory'+ @product + '_1min' + ' f on f.datetime = a.IntradayTime and f.tickerid = ' + cast(@ticker as nvarchar(24)) + ') b
group by
mtime
order by
mtime
option (maxrecursion 0)
Ein Screenshot von dbo.IntradayDataHistory_Rebar_1min
(in diesem Fall: Rebar ist @product):
Aktualisiert zur Klarstellung: Output so aussehen,
Auch ich habe folgendes versucht, das hat nicht funktioniert:
select distinct mtime,
(ticker) tickerid
avg(lastBid) Bid ,
avg(lastAsk) Ask
from (Select a.mtime, a.IntradayTime, f.tickerid, f.lastBid, f.lastAsk
from (select cte.*, (select top 1 datetime from IntradayHistory_1min.dbo.IntradayDataHistory' + @product + '_1min' + '
where datetime <= cte.mtime and TickerID = ' + cast(@ticker as nvarchar(24)) + ' order by datetime desc) as IntradayTime from cte) a
left join Intradayhistory_1min.dbo.IntradayDataHistory'+ @product + '_1min' + ' f
on f.datetime = a.IntradayTime and f.tickerid = ' + cast(@ticker as nvarchar(24)) + ') b
group by mtime order by mtime option (maxrecursion 0)
Der Fehler erhalte ich:
Spalte ‚b.tickerid‘ ist ungültig in der Auswahlliste, weil es weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten.
Was genau meinen Sie mit 'eine Spalte ausgeben '? –
Unklar, was Sie zu tun versuchen - aber wir können sehen, dass logisch, das 'Tickerid' auch das sein muss, was in der Variable' @RBticker1' enthalten ist, der einfachste Ansatz könnte sein, das auszuwählen. –
Und wenn Sie 'Tickerid' zur GROUP BY-Klausel hinzufügen? 'gruppieren nach mtime, tickerid order by ...' –