Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2439 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
Erkennung und -Abwehr

Infineon TPMs unsicher!

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(2)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(5)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (20)

Frage von sunics zum Thema Hosting & Housing ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...