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

MS SQL verknüpfte Abfrage DELETE Befehl

Frage Entwicklung Datenbanken

Mitglied: StfnCstr

StfnCstr (Level 1) - Jetzt verbinden

29.05.2013 um 11:19 Uhr, 1873 Aufrufe, 4 Kommentare

Hallo, habe folgende Abfrage deren Inhalte ich löschen möche.




SELECT *
FROM dbo.FaxJobs a, dbo.FaxAttachments b
Where a.JobID = b.JobID and a.CreationDate <= CONVERT(datetime, '01.01.2013 00:00:00', 104)
order by a.CreationDate

versucht habe ich es mit

DELETE
FROM dbo.FaxJobs a, dbo.FaxAttachments b
Where a.JobID = b.JobID and a.CreationDate <= CONVERT(datetime, '01.01.2013 00:00:00', 104)
order by a.CreationDate

wobei mir immer folgender Fehler ausgeworfen wird :

Meldung 102, Ebene 15, Status 1, Zeile 1
Falsche Syntax in der Nähe von 'a'.


Ich glaube ich schaue schon zulange drauf um den Fehler zu finden, vieleicht könnt ihr helfen.

VIelen Dank

Stefan
Mitglied: LianenSchwinger
29.05.2013, aktualisiert um 11:47 Uhr
Hallo Stefan,

ich kenne mich zwar mit MS SQL nicht so aus, aber ich denke Du kannst nicht aus dem JOIN aus FaxJobs und FAXAttachments gleichzeitig Zeilen löschen.

G Jörg
Bitte warten ..
Mitglied: Biber
29.05.2013, aktualisiert um 11:50 Uhr
Moin StfnCstr,


willkommen im Forum.

a) bei einem DELETE-Statement ist ein ORDER BY weder unterstützt noch sinnvoll.
b) du kannst nicht in zwei Tabellen "parallel" löschen - du musst dich für eine Tabelle entscheiden.

Wenn ich es inhaltlich richtig verstehe, sollen alle "älteren" Datensätze gelöscht werden, die in Alias a und b existieren (a und b über JobID verknüpft) und das "älter" wird ermittelt aus a.CreationDate.

Also musst du zuerst die aus Alias b (den FaxAttachments) löschen mit
01.
DELETE FROM Dbo.FaxAttachments 
02.
where JOBID in 
03.
( Select a.JobID  
04.
FROM dbo.FaxJobs a, dbo.FaxAttachments b 
05.
Where a.JobID = b.JobID and a.CreationDate <= CONVERT(datetime, '01.01.2013 00:00:00', 104)  
06.
);
und im 2. Schritt die Sätze aus FaxJobs mit CreationDate > DatumX;

Grüße
Biber
Bitte warten ..
Mitglied: StfnCstr
29.05.2013 um 11:57 Uhr
Hallo Biber,

klar, Order BY ist sinnlos, hat mir lediglich geholfen die Daten anzuzeigen. Mit unterabfragen habe ich es auch versucht, jedoch immer angefangen mit der Faxjobs tabelle.

Jetzt funktioniert es, danke dir für die Mühe

grüße

PS: Ticket kann als erledigt markiert werden.
Bitte warten ..
Mitglied: Biber
29.05.2013 um 17:02 Uhr
Moin StfnCstr,

Zitat von StfnCstr:
PS: Ticket kann als erledigt markiert werden.

Ähhm ja - allerdings kann/soll das bei uns der Beitragsersteller selbsttätig machen.
Wenn du eingeloggt bist, dann siehst du bei DEINEM Beitrag auch einen Button "Frage als gelöst markieren". mit einem WG-Mortadellafarbenen Häkchen.

Danke aber für die Rückmeldung.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...