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, 1978 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 ..
Ähnliche Inhalte
Datenbanken
gelöst MS SQL - primary Datei verkleinern (6)

Frage von Thomas2 zum Thema Datenbanken ...

Microsoft
gelöst Verbindung zu MS SQL Server 2016 nicht möglich (5)

Frage von Baitahook zum Thema Microsoft ...

Datenbanken
gelöst Daten aus Excel in MS SQL Server übernehmen (7)

Frage von Balu418xx zum Thema Datenbanken ...

Datenbanken
gelöst MS SQL Abfragen und Formulare in Webseite einbinden (3)

Frage von Machello zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...

Microsoft Office
gelöst Excel Dateien durchsuchen und Teile extrahieren (7)

Frage von Beranavan zum Thema Microsoft Office ...

Router & Routing
Standortvernetzung von drei Standorten (6)

Frage von meinsm zum Thema Router & Routing ...