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

Abfrage und Ausgabe von Inhalten mehrere Tabellen einer DB

Mitglied: Murphy79

Murphy79 (Level 1) - Jetzt verbinden

27.04.2009, aktualisiert 16:48 Uhr, 4364 Aufrufe, 8 Kommentare

Hallo. Ich möchte auf einem SQL Server eine Abfrage über 3 Tabellen einer Datenbank machen.
In jeder Tabelle stehen relevante Daten drinn die ich brauche.

So also: in der ersten steht die nummer also ID des Kunden und die zugehörigen Adressdaten wie PLZ und ort usw, in der zweiten steht die nummer also Id des Kunden und die Art des Kunden und in der dritten steht die nummer und die veträge des kunden.

jetzt will ich eine excel tabelle mit all diesen daten bekommen alle daten hintereinander zugehörg zur kundennummer.

ich brauche also eine abfrage die alles das ausgibt und dann einen export in excel wie geht das??????
Mitglied: Biber
27.04.2009 um 17:16 Uhr
Hallo.
Moin murphy79,
Ich möchte auf einem SQL Server
Auf einem bestimmten oder eher allgemein?
eine Abfrage über 3 Tabellen einer Datenbank machen.
Auf bestimmte oder eher allgemein?

Hast Du evtl auch einen Client, mit dem Du das tun möchtest?
Hast Du eine ODBC-Connection oder ... nein, langsamer..

Wie greifst Du im Moment von Deinem Rechner auf diesen "SQL-Server" zu?

Grüße
Biber
Bitte warten ..
Mitglied: pulse
27.04.2009 um 17:25 Uhr
Falls es sich um einen Sql Server 2005 handelt, kannst du das SQL Management Studio Express dafür nehmen.
Da führste dein Select aus und kannst die ergebnisse als CSV speichern.

Deine Abfrage musst du über Joins realisieren.
01.
Select * FROM Kunden INNER JOIN Adresse ON Adresse.KID = Kunden.KID INNER JOIN Vertraege ON Vertraege.KID = Kunden.KID;
KID steht für KundenID
Bitte warten ..
Mitglied: Murphy79
28.04.2009 um 14:14 Uhr
Also wir nutzen einen 2000er sql server.
Ich greife auf den server mit dem sql enterprise manager zu.Dortkann ich dann die tabellen anzeigen lassen und auch abfrage machen.

verstehe das mit dem join nicht so gut.

Bitte genauer.

Ich habe die DB "m3" so heisst die.
Dann darin die tabellen TMAdressen_vetrag, TMAdressen und TMVetrag_Art
Alle diese Tabellen enthalten einen Wert= nummer.

dieser ist bei allen vorhanden.

Jetzt will ich bestimmte spalten jeder einzelnen tabelle abfragen.

es soll nachher rauskommen:

tabelle mit am anfang der kundennummer dann den dazugehörigen adressdaten und der vrtragsart. in jeder zeiel ein datensatz bestehende aus diesen infos welche ja aus allen tabellen stammen zusammengebaut.
Bitte warten ..
Mitglied: Logan000
28.04.2009 um 15:54 Uhr
Moin Moin

verstehe das mit dem join nicht so gut.
Das solltest Du in der Onlinhilfe des SQL Server mal nachlesen.

Bei 3 Tabellen must du halt 2 Joins schachteln.
Heist das Feld jetzt nummer oder kundennummer? Ich nehme einfach zum Bsp. nummer.

01.
Select * From (TMAdressen_vetrag Inner Join TMAdressen on TMAdressen_vetrag.nummer = TMAdressen.nummer) Inner Join TMVetrag_Art on TMAdressen_vetrag.nummer = TMVetrag_Art.nummer
Wenn deine Abfrage das gewünschte ergebniss liefert speichert du diese als Sicht (View) ab.
Dann startest du den DTS Assi und wählst diese Sicht als Datenquelle, wählst Excel als Ziel aund auf gehts.

Gruß L.
Bitte warten ..
Mitglied: Murphy79
04.05.2009 um 09:26 Uhr
Das klappt schon gut, aber wenn ich dies so mache, dann hängt der mir in der view alles hintereinander und somit auch immer wieder eine Spalte die nummer heisst.So kann ich die view aber nicht speochern da er nur eine spalte mit nummer haben will und nicht 3 spalten mit diesem namen
Bitte warten ..
Mitglied: Biber
04.05.2009 um 10:04 Uhr
Zitat von Murphy79:
Das klappt schon gut, aber wenn ich dies so mache, dann hängt der
mir in der view alles hintereinander und somit auch immer wieder eine
Spalte die nummer heisst.So kann ich die view aber nicht speochern da
er nur eine spalte mit nummer haben will und nicht 3 spalten mit diesem namen

Moin Murphy79,

ich weiss nicht, wie dünnhäutig und belastbar Logan000 an einem handelsüblichen Montagmorgen ist, aber vielleicht ist es besser, wenn ich versuche zu antworten...

Nimm statt alle Felder [Logan000s Skizze]
01.
Select *  
02.
From (TMAdressen_vetrag  
03.
Inner Join TMAdressen on TMAdressen_vetrag.nummer = TMAdressen.nummer)  
04.
Inner Join TMVetrag_Art on TMAdressen_vetrag.nummer = TMVetrag_Art.nummer
doch einfach nur die Felder, die Du haben willst
01.
Select V.nummer, A.name, A.vorname, A.plz, VA.whatever  
02.
From (TMAdressen_vetrag V 
03.
Inner Join TMAdressen A on V.nummer = A.nummer)  
04.
Inner Join TMVetrag_Art VA on VA.nummer = A.nummer 
05.
ORDER by v.nummer
-oder-

01.
Select V.nummer, A.name, A.vorname, A.plz, VA.whatever  
02.
From TMAdressen_vetrag V, TMAdressen A , TMVetrag_Art VA 
03.
WHERE  
04.
A.nummer=V.Nummer AND 
05.
VA.nummer = A.nummer 
06.
ORDER by 1
Arbeitest Du eigentlich auf einem Produktivsystem und hast Du auch Insert/Update/Delete-Rechte?
Nur interessehalber...

Grüße
Biber
Bitte warten ..
Mitglied: Murphy79
04.05.2009 um 10:16 Uhr
Ne das ist ein produktivsystem.
Das mit den Spaltendie ich brauche ist ja schn ok, aber das Problem ist das ich noch nicht weiß was ich wirklich alles davon brauche.Mein Chef will einfach erstmal alle infos zusammen haben in einer excel liste.Dann soll die liste bearbeitet werden, dubletten raus usw.

Ich kann die Excel liste abe rnicht machen wenn ich da spalten habe die den gleichen namen besitzen. Gibt es nicht einen befehl bei der abfrage der besagt nimm alles also select * außer die spalte nummer???

Ich will doch nur alle infos zu jedem einzelnen kunden abrufen die ich kriegen kann.

da ja in jeder tabell edie kundennummer steht muss es doch möglich sein, eine neue tabelle zu generieren wo alles drinsteht abhängig von der kundennummer.
Ohne einfach nur alle tabellen hintereinander zu schreiben mit allen Feldern (hier jetzt jeweils auch die Kundennummer)

So lässt dich die view nicht speichern
Bitte warten ..
Mitglied: Biber
04.05.2009 um 10:41 Uhr
Moin Murphy79,

Ne das ist ein produktivsystem.
Das hatte ich irgendwie geahnt.
Ich will doch nur alle infos zu jedem einzelnen kunden abrufen die ich kriegen kann.
Jaha.
Ich habe Dir schon zugehört/zugelesen.
Aber "alle Infos" heißt doch nicht "alle Felder".

ich habe oben geschrieben "nimm einfach nur die Felder, die Du brauchst".
Und wenn denn nun ein Feld V.Nummer und ein Feld VA.Nummer und ein Feld A.nummer in Deinem JOIN existieren würde, dann zeigt doch nur eines dieser drei an (SELECT V.Nummer, V.bla, V.blubb,...A.whatThe, V.uck")

Und ja, die Felder, die Du holst musst Du einzeln angeben bzw. eintippseln.

Tipp:
Du kannst es vereinfachen, indem Du - wenn meinetwegen "V" die feldreichste der Tabellen ist- schreibst
01.
 SELECT V.* , A.Name, A.Vorname, A.Plz, VA.FeldX, VA.FeldY..........
... also EINE der Tabellen mit einem SELECT [Aliasname].* anziehst.
geht aber nur bei einer, da in allen drei Tabellen ja mindestens ein Feld gleichen Namens ist.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL Abfrage aus mehreren Tabellen
gelöst Frage von el-torontoDatenbanken2 Kommentare

Hallo, auf dem Bild die vereinfachte Darstellung. Problematik: - Tabelle 1 enthält hunderte Kunden und wird mit Werten und ...

Datenbanken

Access 2010 - Abfrage über mehrere Tabellen

gelöst Frage von EisbrecherinDatenbanken12 Kommentare

Hallo zusammen! Ich bin gerade etwas am Verzweifeln mit Access 2010. Meine Datenbank besteht aus folgenden Tabellen / Beziehungen: ...

Datenbanken

ORACLE DB Abfrage

Frage von MarabuntaDatenbanken5 Kommentare

Hallo, ich habe folgende Tabelle: Jetzt brauche ich eine Abfrage, um das vorletzte Datum auszugeben. Vorher: Zwischenstand: In den ...

Datenbanken

SQL: Inhalte aus einer Spalte mit den Inhalten aus mehreren Spalten einer zweiten Tabelle vergleichen

gelöst Frage von sqlbeginnerDatenbanken4 Kommentare

Guten Tag ich habe folgende Fragen Frage 1: Tabelle1 , Spalte A in dieser stehen Kürzel Tabelle2, Spalte A, ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 7 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 13 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 17 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...