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

Update - Unterabfrage

Frage Entwicklung Datenbanken

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

08.07.2011, aktualisiert 15:27 Uhr, 2428 Aufrufe, 3 Kommentare

Hey,

heute sind dummerweise einige Duplikatdatensätze angelegt bzw. automatisch durch ein fehlerhaften Import eingefügt worden, welche ich wieder los werden möchte.

Ich habe in meiner Tabelle ein Feld AccountNumber, CreatedOn, Delete

Nun sieht es z.B. so aus:


Accountnumber , CreatedOn
10000 , 2010-12-01 18:49:34
10000 , 2011-07-08 14:45:00
10001 , 2010-03-01 18:49:34
10002 , 2010-08-05 04:49:34
10003
10003

Mein Probelm, nicht alle Datensätze sind doppelt. Ich möchte nun alles Datensätze, welche heute angelegt worden sind und welche doppelt sind markieren. bzw. in das Feld "Delete" eine 1 rein schreiben.
Ich wollte erst mal ein select machen, aber da scheitere ich leider schon:

01.
SELECT [AccountNumber] FROM [tw_elektric_MSCRM].[dbo].[AccountBase] 
02.
    where (SELECT COUNT(*)  FROM [tw_elektric_MSCRM].[dbo].[AccountBase] 
03.
    where [AccountNumber] = [AccountNumber] 
04.
    group by  [AccountNumber]) >1
Oder

01.
SELECT Unterabfrage.* 
02.
FROM [ 
03.
SELECT COUNT(*) As Anzahl,[AccountNumber],max(CreatedOn) 
04.
   FROM [tw_elektric_MSCRM].[dbo].[AccountBase] 
05.
   group by  [AccountNumber] 
06.
   ) As Unterabfrage 
07.
WHERE Unterabfrage.Anzahl > 1

Ich hoffe ihr habt eine Idee.

Danke
Mitglied: Indrador
08.07.2011 um 15:49 Uhr
Hi,

das hier gibt genau das aus, was du suchst:

01.
select distinct		account, 
02.
					(	 
03.
						select COUNT(t1.account) from Testdb..account_test t1  
04.
						where t1.account = t.account  
05.
06.
from Testdb..account_test t 
07.
 
08.
where	account in	(	 
09.
						select t2.account from Testdb..account_test t2 
10.
						group by t2.account 
11.
						having COUNT(t2.account) > 1  
12.
					)
Gruß
Bitte warten ..
Mitglied: ottscho
08.07.2011 um 15:59 Uhr
Hey,
danke dir, dass sieht schon mal gut aus.
Jetzt bekomme ich eine Liste mir alle Accountnummern welche Doppelt sind.

01.
select distinct	[AccountNumber], 
02.
					(	 
03.
						select COUNT(t1.[AccountNumber]) from [tw_elektric_MSCRM].[dbo].[AccountBase] t1  
04.
						where t1.[AccountNumber] = t.[AccountNumber]  
05.
06.
from [tw_elektric_MSCRM].[dbo].[AccountBase] t 
07.
 
08.
where	[AccountNumber] in	(	 
09.
						select t2.[AccountNumber] from [tw_elektric_MSCRM].[dbo].[AccountBase] t2 
10.
						group by t2.[AccountNumber] 
11.
						having COUNT(t2.[AccountNumber]) > 1  
12.
					)
Ausgabe:
10000 2
10005 2
10006 2
10009 2
10011 2
10012 2
10015 2
10016 2
10017 2
10023 2

Und jetzt muss in den Datensatz von Beiden markiern, welcher heute erstellt wurde. Sprich CreateOn='2011-07-08'
Bitte warten ..
Mitglied: Indrador
08.07.2011 um 16:03 Uhr
na das ist doch einfach,

01.
delte from account_test 
02.
where account in ( 
03.
select distinct		account, 
04.
					(	 
05.
						select COUNT(t1.account) from Testdb..account_test t1  
06.
						where t1.account = t.account  
07.
08.
from Testdb..account_test t 
09.
 
10.
where	account in	(	 
11.
						select t2.account from Testdb..account_test t2 
12.
						group by t2.account 
13.
						having COUNT(t2.account) > 1  
14.
15.
AND 
16.
CreateOn='2011-07-08'
Denk nur dran, du hast in deiner Tabelle Datum+Uhrzeit, wenn du auf ein
Datum vergleichst musst du ggf. je nach DBS die Zeit abschneiden mit cast(Feld as date) o.ä.
sonst findet er keinen Datensatz, weil er genau das Datum + eine exakte Uhrzeit sucht.
Bitte warten ..
Ähnliche Inhalte
Windows Installation
Softwareverteilung Update Teamviewer (1)

Frage von Matzeeg3 zum Thema Windows Installation ...

Windows 10
Komulatives Update in WIM Datei einbinden (3)

Frage von kingsepp zum Thema Windows 10 ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (17)

Frage von montylein1981 zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 Std - Windows Update Dienst - 100 Prozent CPU Auslastung (7)

Frage von harald.schmidt zum Thema Windows Server ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Router & Routing
Routingproblem in Homerouter-Kaskade mit Raspi (20)

Frage von Oldschool zum Thema Router & Routing ...

Server
Freenas schlechte Schreib Performance bei NFS (16)

Frage von janosch12 zum Thema Server ...

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...