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, 2421 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 10
Kein Internet: Nach Windows-Update weltweit Computer offline (7)

Link von transocean zum Thema Windows 10 ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows 10
gelöst Windows 10 Update gefriert (10)

Frage von KodaCH zum Thema Windows 10 ...

Viren und Trojaner
gelöst Trendmicro 9 Update fehlgeschlagen (15)

Frage von Azubine zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...