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, 2436 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 Update
Update Fehler mit Mai Updates (7)

Frage von Amistar zum Thema Windows Update ...

Vmware
gelöst ESXi Update über vCenter Update Manager (4)

Frage von DKowalke zum Thema Vmware ...

Viren und Trojaner
gelöst Eure Update-Mentalität (6)

Frage von Pandreas zum Thema Viren und Trojaner ...

Windows Update
Update für WSUS (1)

Frage von DarkHercules zum Thema Windows Update ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...