Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

T-SQL Fehler bei Abfrage

Frage Entwicklung Datenbanken

Mitglied: attix22

attix22 (Level 1) - Jetzt verbinden

21.04.2011 um 11:36 Uhr, 4712 Aufrufe, 9 Kommentare

Guten Tag,

ich habe hier eine Abfrage, die von einem nichtmehr verfügbaren Dienstleister stammt.
Diese wurde angepasst und funktioniert jetzt nichtmehr.
Hier die Abfrage:

-- GD ermitteln

update #wt
set GDK= (select AVG([Preis]) from #wt where ID between t.ID - @x + 1 and t.ID)
from #wt as t

UPDATE #erg
set Datumv2 = #wt.Datum
, Preisv2 = #wt.[Preis]
, Preis_GDv2 = #wt.GDK
from #wt inner join #erg

insert into [A_Ergebnis24v2]
select * from #erg

Der SQL Server gibt folgende Fehlermeldung aus: Syntaxfehler bei Zeile XX insert into

Ich verstehe nicht was hier an der Syntax falsch sein soll, die Tabellen #wt und #erg werden quasi in [A_Ergebnis24v2] zusammengeführt.

Kann jemand mit diesem Code Schnipsel etwas anfangen?
Alternativ wäre ich über eine Hilfestellung wie man eine solche Abfrage "debuggt" sehr dankbar.

Vielen Dank und Frohe Ostern im Vorraus

Attix22
Mitglied: Pjordorf
21.04.2011 um 11:55 Uhr
Hallo,

Zitat von attix22:
Diese wurde angepasst und funktioniert jetzt nichtmehr.
Hoffentlich hast du noch den Quellcode von vor der Änderung!

Der SQL Server gibt folgende Fehlermeldung aus: Syntaxfehler bei Zeile XX insert into
Zeile XX ist hier nirgendswo!

Ich verstehe nicht was hier an der Syntax falsch sein soll, die Tabellen #wt und #erg werden quasi in [A_Ergebnis24v2]
zusammengeführt.
Was wird hier zusammengeführt? Woraus setzt sich A_Ergenbis24v2 zusammen?

Ohne das du den entzsprechenden Code mit allen relaveanten Daten hier angibst, können dir hier nur mit einer Schnutzigen Galskugel Ratschläge gegeben werden. Nur du hast den ganzen Quellcode. Nur du kennst den aufbau deiner Tabellen. Nur du weisst ob es sich um weitere abfrage / SP oder sonst noch was handelt.

Kann jemand mit diesem Code Schnipsel etwas anfangen?
Ja, aber sehr wenig.

Alternativ wäre ich über eine Hilfestellung wie man eine solche Abfrage "debuggt" sehr dankbar.
Nun, wie du so schön schreibst:
Diese wurde angepasst und funktioniert jetzt nichtmehr
Schau dir alle Änderungen von da ging es noch bis zu jetzt geht es nicht mehr an und versuche zu verstehen was dort gemacht werden soll / wird.

Ohne weitere hinweise auf OS, Datenbanksystem, Entwicklungsumgebung usw wird eine genaue Hilfestellung fast unmöglich sein.

Gruß,
Peter
Bitte warten ..
Mitglied: Indrador
21.04.2011 um 12:52 Uhr
Ich würde mal ins blaue Tippen, da die Infos leider nichts anderes zulassen,
dass die Tabelle A_Ergebnis24v2 mehr Spalten hat #erg im speziellen wahrscheinlich
einen auto increment wert, der automatisch befüllt wird.
Wenn meine Vermutung zutrifft und es 4 spalten gibt eine id auto increment z.B. müsste der Insert folgendermaßen aussehen:

insert into [A_Ergebnis24v2] (SpalteA, SpalteB, SpalteC)
select * from #erg

Wobei SpalteA dann für Datumv2, SpalteB für Preisv2 und SpalteC für Preis_GDv2 mit den entsprechenden richtigen Spaltennamen stehen.

Aber wie gesagt, das ist nur eine Vermutung, weil es praktisch keine Infos gibt.

Gruß
Bitte warten ..
Mitglied: Biber
21.04.2011 um 13:01 Uhr
....is' ja auch blöd, dass er die Kommentarzeilen aus den Statements nicht mitgepostet hat ...
Bitte warten ..
Mitglied: MadMax
21.04.2011 um 13:04 Uhr
Moin,

so ganz spontan würde ich mal sagen, da fehlen die Spalten fürs join:
01.
UPDATE #erg 
02.
set Datumv2 = #wt.Datum 
03.
, Preisv2 = #wt.[Preis] 
04.
, Preis_GDv2 = #wt.GDK 
05.
from #wt inner join #erg
Gruß, Mad Max
Bitte warten ..
Mitglied: attix22
21.04.2011 um 13:04 Uhr
Ohne weitere hinweise auf OS, Datenbanksystem, Entwicklungsumgebung usw wird eine genaue Hilfestellung fast unmöglich sein.
Gruß,
Peter

OS: Windows Server 2003
Datenbank: Microsoft SQL Server 2005

@Indrador

Dein Tipp sieht vielversprechend aus, ich werde das ganze nachher dahingehend prüfen.
Vielen Dank
Bitte warten ..
Mitglied: Biber
21.04.2011 um 13:21 Uhr
Moin Mad Max,

Zitat von MadMax:
so ganz spontan würde ich mal sagen, da fehlen die Spalten fürs join:

Nein, das muss nicht.
M$ hält sich für besser SQLisch sprechend als diese ISO-gläubigen Weicheier aka der Rest des Planeten.

Laut M$ reicht
.... QuellTabelle1 [Join-Typ] Tabelle [ON (Join Bedingung)]
--> d.h. die komplette [ON (Join Bedingung)] ist optional.

[Unter der Bedingung, das die Spaltennamen in beiden Tabellen gleich sind und es in einer Tabelle PK, in der anderen FK ist etc.]


Aber ist halt sauschlechter Stil und senkt die Wartbarkeit nooch tiefer als die fehlenden Kommentare

Grüße
Biber
Bitte warten ..
Mitglied: Indrador
21.04.2011 um 13:22 Uhr
Zitat von MadMax:
Moin,

so ganz spontan würde ich mal sagen, da fehlen die Spalten fürs join:
01.
> UPDATE #erg 
02.
> set Datumv2 = #wt.Datum 
03.
> , Preisv2 = #wt.[Preis] 
04.
> , Preis_GDv2 = #wt.GDK 
05.
> from #wt inner join #erg 
06.
> 
Gruß, Mad Max


Hi, warum sollte es sich ans insert wieder irgendwas dran Joinen, wenn er sich im Schritt vorher #erg komplett per update befüllt?
Beim update Schritt ist #erg mit allen 3 spalten befüllt.
Bitte warten ..
Mitglied: attix22
21.04.2011 um 13:51 Uhr
Vielen Dank für die Hilfe.
Das Problem wurde inzwischen gelöst, die Datenquelle wurde neu angelegt und jetzt flutscht es.
Wurde zwar gestern schonmal gemacht aber dass ist mir jetz egal.

Vielen Dank und ein schönes verlängertes Wochenende
Bitte warten ..
Mitglied: MadMax
21.04.2011 um 17:18 Uhr
Puh, eben hast Du mich aber erschreckt

Aber Du liegst falsch, selbst der SQL Server braucht ein "on x = y", daß es optional wäre, kann sich allenfalls auf den cross join beziehen.

Und der Fehler wird dann beim Folgebefehl angezeigt (hier das insert), weil an der Stelle ja das "on" erwartet wird.

Gruß, Mad Max
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
SQL Fehler Beim Installieren von SQL 2008 R2 auf einem Windows 2012 Server (6)

Frage von Sv-Schneider zum Thema Windows Server ...

Datenbanken
gelöst Fehler bei SQL Abfrage - Filter Funktion (2)

Frage von mschaedler1982 zum Thema Datenbanken ...

Datenbanken
SUM oder AVG in SQL Abfrage dauert viel zu lange warum? (5)

Frage von samet22 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit MAX() (9)

Frage von FrAmEr zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...