Top-Themen

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

SQL2005 Import aus Tabelle2 in eine vorhandene Tabelle anhand der Kundennummer

Mitglied: Raban

Raban (Level 1) - Jetzt verbinden

11.12.2008, aktualisiert 16.12.2008, 3393 Aufrufe, 7 Kommentare

Hallo,
ich habe hier ein Problem (MSSQL2005) und weiss nicht genau wie ich das lösen soll.
Habe eine Tabelle wo schon Datensätze vorhanden sind Name, Adresse, PLZ, Ort, Kundennumemr...etc
In einer zweiten Tabelle habe ich 2 Spalten Kundennummer und Priorität

Die Priorität aus der 2. Tabelle soll nun in das Feld "Priorität" in die erste Tabelle übertragen werden (weiss nicht ob das überhaupt geht)

Tabelle 1 mit den Adressen sieht so aus

dafaabdd7289c2fec6bcc38010a91704-tabelle01 - Klicke auf das Bild, um es zu vergrößern

die zweite Tabelle mit den Prioritäten sieht so aus

d6e336acd7f4854313326501060701c5-tabelle02 - Klicke auf das Bild, um es zu vergrößern

das Ergebnis wie es nach dem SQL Befehl aussehen soll

547a6dff8cb2c2486938d07daa7efb50-tabelle03 - Klicke auf das Bild, um es zu vergrößern


Ich benötige ein SQL Befehl der folgendes tut: ein Vergleich zwischen den 2 Tabellen. Die Kundennummer soll abgeglichen werden, wenn diese in beiden Tabellen gleich sind soll der Wert Priorität aus der Tabelle 2 in das Feld Priorität aus der Tabelle 1 übertragen werden und dem richtigen Kunden zugeordnet werden

Weiss jemand ob das überhaupt machbar ist und wie der SQL-Befehl lauten muss damit das ganze funktioniert?

Vielen Dank schon mal im voraus.

Gruß
Robert
Mitglied: Biber
11.12.2008 um 08:01 Uhr
Moin Raban,

das sollte so gehen:
01.
 UPDATE tabelle1 t1  
02.
JOIN tabelle2 t2 on t1.Kundennummer = t2.Kundennummer 
03.
SET t1 Prioritaet = t2.Prioritaet ;
-oder auch-
01.
 UPDATE tabelle1 t1, Tabelle2 t2  
02.
SET t1 Prioritaet = t2.Prioritaet  
03.
WHERE T1.Kundennummer = t2.Kundennummer;
MSSQL unterstützt UPDATEs mit verJOINten Tabellen, bei denen eine Seite des JOINs aktualisiert wird.
Die zweite Syntax ist absolut gleichwertig (INNER JOIN), aber nach meinem Geschmack lesbarer/übersichtlicher.

Grüße
Biber
Bitte warten ..
Mitglied: Raban
11.12.2008 um 11:11 Uhr
Hi,
vielen Dank für die Hilfe. Ich werde das gleich ausprobieren.

Kann man da noch eine Bedingung mit einbauen, wo nur die Kunden angepasst werden wenn diese in der Tabelle01 in der Spalte "Name" mit "EDE" anfangen?

Vielen Dank
Gruß
Robert
Bitte warten ..
Mitglied: Biber
11.12.2008 um 14:11 Uhr
Moin Raban,

Antwort 1)
Du kannst einfach noch ein "WHERE t1.NAME like 'EDE%' an das o.a. UPDATE-Statement (vor das ";") anhängen

Antwort 2)
Du solltest allerdings NIE NIE NIE ein UPDATE-Statement abfeuern, wenn Du nicht vorher mit einem normalen SELECT-Statement geprüft hast, welche Sätze denn betroffen wären.

Grüße
Biber
Bitte warten ..
Mitglied: Raban
12.12.2008 um 10:20 Uhr
Hi Biber,

ich werde nicht schlau wie man den Befehl richtig aufbaut. Ich habe das jetzt so aufgebaut

UPDATE ADDRESSES t1
JOIN tfdiln t2 ON ADDRESSES.CUSTOMERNUMBER0 = tfdiln.Kunde
SET ADDRESSES.TEXT46 = tfdiln.ILN;

aber wenn ich die SQL-Syntax überprüfen lasse kommt dann diese Meldung

"Falsche Syntax in der Nähe von 't1'

die Tabelle die aktualisiert werden muss ist die Tabelle ADDRESSES und zwar die Spalte 'TEXT46' anhand der Kundennummer die abgeglichen werden soll
Die Kundennummer ist in der Tabelle ADDRESSES in der Spalte 'Customernumber0' und in der Tabelle 'tfdiln' in der Spalte 'Kunde'

was mach ich falsch?
Vielen Dank für deine Mühe Biber
Gruß
Robert
Bitte warten ..
Mitglied: Biber
12.12.2008 um 15:40 Uhr
Moin Raban,

ich verwende gerne Tabellen-Alias wie t1, t2 oder auch A, B, C, weil es dann für mich lesbarer/nachvollziehbarer wird.
Der Datenbank ist das vollkommen egal - die kommt auch mit 32stelligen Tabellennamen gut klar.

Nur Du musst Dich entscheiden: wenn Du in einem Statement erstmal "angekündigt" hast, dass Du die Tabelle ADDRESSES ab sofort nur noch "t1" nennst, dann wird sie auch nur noch als "t1" wiedergefunden.

Also entweder OHNE Aliase:
01.
UPDATE ADDRESSES 
02.
JOIN tfdiln ON ADDRESSES.CUSTOMERNUMBER0 = tfdiln.Kunde 
03.
SET ADDRESSES.TEXT46 = tfdiln.ILN;
-oder mit Aliasen:
01.
UPDATE ADDRESSES t1 
02.
JOIN tfdiln t2 ON t1.CUSTOMERNUMBER0 = t2.Kunde 
03.
SET t1.TEXT46 = t2.ILN;
... aber nicht Kraut-und-Rüben.

Grüße
Biber
Bitte warten ..
Mitglied: Raban
16.12.2008 um 06:44 Uhr
Hallo Biber,

ich habe jetzt die Logik verstanden. Danke für die Erklärung.
Habe jetzt den SQL Befehl so aufgebaut

UPDATE ADDRESSES
JOIN tfdiln ON ADDRESSES.CUSTOMERNUMBER0 = tfdiln.Kunde
SET ADDRESSES.TEXT46 = tfdiln.ILN;


aber will irgendwie nicht...da kommt folgende Meldung

Fehler bei der SQL Ausführung

Ausgeführte SQL Anweisung: UPDATE ADDRESSES JOIN tfdiln ON ADDRESSES.CUSTOMERNUMBER0 = tfdiln.Kunde SET ADDRESSES.TEXT46 = tfdiln.ILN;

Fehlerquelle .Net SQL Client Data Provider
Fehlermeldung : Falsche Syntax in der Nähe des 'JOIN'-Schlüsselwortes

Hast Du noch eine Idee?

Vielen Dank für deine Mühe
Gruß
Robert
Bitte warten ..
Mitglied: Biber
16.12.2008 um 08:34 Uhr
Moin Raban,
Hast Du noch eine Idee?
An Ideen mangelt es mir selten.
Bist Du denn noch leidensfähig genug?

Dann machen wir es so:
01.
UPDATE ADDRESSES 
02.
SET TEXT46 = t2.ILN 
03.
FROM ADDRESSES t1, tfdiln t2  
04.
WHERE  t1.CUSTOMERNUMBER0 = t2.Kunde;
-was wiederum diesem hier entsprechen sollte:
01.
UPDATE ADDRESSES 
02.
SET TEXT46 = t2.ILN 
03.
FROM ADDRESSES t1 INNER JOIN tfdiln t2  
04.
ON  t1.CUSTOMERNUMBER0 = t2.Kunde;
Probier bitte mal Variante 1 aus.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Importierte Excel-Tabelle nach dem Import automatisch anpassen

Frage von RedBullBF2Microsoft Office1 Kommentar

Hallo zusammen, ich habe hier eine Excel-Tabelle in der in einer Spalte 1 das Datumsformat wie folgt angezeigt wird: ...

Datenbanken

SQL - Spalte in Tabelle1 in Tabelle2 kopieren

gelöst Frage von BakBoneDatenbanken2 Kommentare

Ich brauch mal kurz eure Hilfe. In derselben DB möchte ich den Inhalt aus Tabelle1 der Spalte1 in Tabelle2 ...

Microsoft Office

MS Office Access, prüfen ob wert in einer anderen tabelle vorhanden

gelöst Frage von badni12Microsoft Office11 Kommentare

Hallo Ich habe ein Insert Into Programm geschrieben, dass die Werte vom Formular x (basierend auf die Tabelle x) ...

VB for Applications

Excel VBA .csv Import in Tabelle x, ab Spalte y

gelöst Frage von drimrimVB for Applications

Hallo, für meine Datenbank benutze ich ein Makro, um die Datensätze aus einer *.csv Datei in meine Tabelle zu ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 10 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 18 StundenRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit17 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...

Windows Installation
Kleines Büro - wie PCs einrichten? Domaincontroller sinnvoll?
Frage von Jonas42Windows Installation13 Kommentare

Hallo zusammen, ich überlege derzeit mal wieder, ob ich unsere IT ändern sollte. Es handelt sich um ein Ingenieurbüro ...