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

2 SQL Abfragen miteinander verbinden

Frage Entwicklung Datenbanken

Mitglied: karlchristian

karlchristian (Level 1) - Jetzt verbinden

27.08.2014, aktualisiert 13:30 Uhr, 1128 Aufrufe, 4 Kommentare, 1 Danke

Hallo,

ich habe 2 Abfragen, welche ich mit inner join auf ELGDEPOTNR zusammen fassen möchte
und alle Felder dann ausgeben,

Nur komme ich nicht drauf wie dieses möglich ist.
Mitglied: LianenSchwinger
27.08.2014, aktualisiert um 12:44 Uhr
Hallo,

direkt die 1. Frage - warum gruppierst Du in der 2. Abfrage?!? Ist doch keine Aggregat-Funktion im Spiel.

Ansonsten ist das doch einfach. Du hängst die Tabelle ELGREIFENMODELL per INNER JOIN in die 1. Abfrage.
SELECT 	ADRESSE.GPTNR,  
	GESCHPARTNER.NAME1,  
	ADRESSE.STRASSE,  
	ADRESSE.PLZ,  
	ADRESSE.ORT,  
	ELGEINLAGERUNG.ELGDEPOTNR,  
	ELGEINLAGERUNG.FZGID,  
	ELGEINLAGERUNG.FABRIKATKZ,  
	ELGEINLAGERUNG.MODCODE, 	 
	ELGEINLAGERUNG.MODBEZEICHNUNG,  
	ELGEINLAGERUNG.FAHRGESTELLNR,  
	ELGEINLAGERUNG.AMTKENNZ,  
	ELGEINLAGERUNG.EINLAGERTYP,  
	ELGEINLAGERUNG.EINLAGERSTATUS,  
	ELGEINLAGERUNG.EINLAGERDATUM,  
	ELGEINLAGERUNG.EINLAGERBIS,  
	ELGEINLAGERUNG.ELGLAGERORTID,  
	ELGEINLAGERUNG.AUSLAGERDATUM,  
	ELGEINLAGERUNG.STORNODATUM, 
 
	ELGREIFENMODELL.SAISONKZ 
 
FROM ELGEINLAGERUNG  
INNER JOIN (ADRESSE INNER JOIN GESCHPARTNER ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR) ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR  
INNER JOIN (ELGREIFENMODELL INNER JOIN ELGEINLAGREIFEN ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID) ON ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR 
WHERE ELGEINLAGERUNG.EINLAGERSTATUS Like 'EIN';
Sofern ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR dies zutrifft.

G Jörg
Bitte warten ..
Mitglied: karlchristian
27.08.2014, aktualisiert um 12:44 Uhr
Hallo Jörg,


zu Frage 1,

In der abfrage 2 habe ich doppelte Werte im Vorfeld herausnehmen wollen.

Wenn ich deine o.g. Lösung verwendet bekomme ich doppelte Werte vorgeblendet

Versuche ich mit Distinct zu arbeiten kommt es zu nem Fehler

SELECT DISITNCT ELGEINLAGERUNG.ELGDEPOTNR, ADRESSE.GPTNR,GESCHPARTNER.NAME1,ADRESSE.STRASSE,ADRESSE.PLZ, 
ADRESSE.ORT,ELGEINLAGERUNG.FZGID,	ELGEINLAGERUNG.FABRIKATKZ,ELGEINLAGERUNG.MODCODE, ELGEINLAGERUNG.MODBEZEICHNUNG,  
ELGEINLAGERUNG.FAHRGESTELLNR, ELGEINLAGERUNG.AMTKENNZ, ELGEINLAGERUNG.EINLAGERTYP, ELGEINLAGERUNG.EINLAGERSTATUS, ELGEINLAGERUNG.EINLAGERDATUM, ELGEINLAGERUNG.EINLAGERBIS, ELGEINLAGERUNG.ELGLAGERORTID, ELGEINLAGERUNG.AUSLAGERDATUM, ELGEINLAGERUNG.STORNODATUM,ELGREIFENMODELL.SAISONKZ 
FROM ELGEINLAGERUNG  
INNER JOIN (ADRESSE INNER JOIN GESCHPARTNER ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR) ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR  
INNER JOIN (ELGREIFENMODELL INNER JOIN ELGEINLAGREIFEN ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID) ON ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR 
WHERE ELGEINLAGERUNG.EINLAGERSTATUS='EIN'
bzw der Versuch mit GROUP BY ELGREIFENMODELL.SAISONKZ schlägt fehl (jedenfalls wenn ich es ans Ende setzt
Bitte warten ..
Mitglied: karlchristian
27.08.2014, aktualisiert um 12:44 Uhr
Ich habs nun unsauber selbst behoben

SELECT DISITNCT * FROM 
(SELECT ELGEINLAGERUNG.ELGDEPOTNR, ADRESSE.GPTNR,GESCHPARTNER.NAME1,ADRESSE.STRASSE,ADRESSE.PLZ, 
ADRESSE.ORT,ELGEINLAGERUNG.FZGID,	ELGEINLAGERUNG.FABRIKATKZ,ELGEINLAGERUNG.MODCODE, ELGEINLAGERUNG.MODBEZEICHNUNG,  
ELGEINLAGERUNG.FAHRGESTELLNR, ELGEINLAGERUNG.AMTKENNZ, ELGEINLAGERUNG.EINLAGERTYP, ELGEINLAGERUNG.EINLAGERSTATUS, ELGEINLAGERUNG.EINLAGERDATUM, ELGEINLAGERUNG.EINLAGERBIS, ELGEINLAGERUNG.ELGLAGERORTID, ELGEINLAGERUNG.AUSLAGERDATUM, ELGEINLAGERUNG.STORNODATUM,ELGREIFENMODELL.SAISONKZ 
FROM ELGEINLAGERUNG  
INNER JOIN (ADRESSE INNER JOIN GESCHPARTNER ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR) ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR  
INNER JOIN (ELGREIFENMODELL INNER JOIN ELGEINLAGREIFEN ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID) ON ELGEINLAGERUNG.ELGDEPOTNR = ELGEINLAGREIFEN.ELGDEPOTNR 
WHERE ELGEINLAGERUNG.EINLAGERSTATUS='EIN')
Bitte warten ..
Mitglied: Biber
27.08.2014, aktualisiert um 13:35 Uhr
Moin karlchristian,

eigentlich stehe ich ja auch auf dem Standpunkt "Wenn's funktioniert, dann lassen wir es so..."
Aber ein "SELECT DISTINCT * FROM (.." kann nicht das Optimum sein.

Probier es anstelle deiner Abfrage mal mit
01.
SELECT ELGEINLAGERUNG.ELGDEPOTNR 
02.
       , ADRESSE.GPTNR 
03.
       , GESCHPARTNER.NAME1 
04.
       , ADRESSE.STRASSE 
05.
       , ADRESSE.PLZ 
06.
       , ADRESSE.ORT 
07.
       , ELGEINLAGERUNG.FZGID 
08.
       , ELGEINLAGERUNG.FABRIKATKZ 
09.
       , ELGEINLAGERUNG.MODCODE 
10.
       , ELGEINLAGERUNG.MODBEZEICHNUNG 
11.
       , ELGEINLAGERUNG.FAHRGESTELLNR 
12.
       , ELGEINLAGERUNG.AMTKENNZ 
13.
       , ELGEINLAGERUNG.EINLAGERTYP 
14.
       , ELGEINLAGERUNG.EINLAGERSTATUS 
15.
       , ELGEINLAGERUNG.EINLAGERDATUM 
16.
       , ELGEINLAGERUNG.EINLAGERBIS 
17.
       , ELGEINLAGERUNG.ELGLAGERORTID 
18.
       , ELGEINLAGERUNG.AUSLAGERDATUM 
19.
       , ELGEINLAGERUNG.STORNODATUM 
20.
       , depotdaten.SAISONKZ 
21.
FROM ELGEINLAGERUNG 
22.
  INNER JOIN (ADRESSE 
23.
  INNER JOIN GESCHPARTNER 
24.
          ON ADRESSE.GPTNR = GESCHPARTNER.GPTNR) 
25.
          ON ELGEINLAGERUNG.GPTNRKUNDE = GESCHPARTNER.GPTNR 
26.
  INNER JOIN ( 
27.
--           ELGREIFENMODELL 
28.
--           INNER JOIN ELGEINLAGREIFEN 
29.
--          ON ELGREIFENMODELL.ELGREIFENMODELLID = ELGEINLAGREIFEN.ELGREIFENMODELLID) 
30.
                SELECT distinct r.ELGDEPOTNR 
31.
                     , m.SAISONKZ 
32.
                FROM ELGREIFENMODELL m 
33.
                INNER JOIN ELGEINLAGREIFEN r 
34.
                ON m.ELGREIFENMODELLID = r.ELGREIFENMODELLID ) depotdaten 
35.
          ON ELGEINLAGERUNG.ELGDEPOTNR = depotdaten.ELGDEPOTNR 
36.
WHERE ELGEINLAGERUNG.EINLAGERSTATUS = 'EIN';
Ich habe deine Abfrage (ohne das drumgewickelte SELECT DISTINCT) genommen und die ursprünglichen Zeilen als Kommentar dringelassen (Zeile 27-29).
Statt GROUP BY wie in der Ur-Abfrage ganz oben habe ich dort ein SELECT DISTINCT genommen, damit du weiterhin eines dabeihast.


Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Datenbanken
2 SQL Abfragen verbinden

Frage von cuxmini zum Thema Datenbanken ...

Switche und Hubs
gelöst 2 Switch von HP miteinander verbinden (23)

Frage von Fitzel69 zum Thema Switche und Hubs ...

Windows Server
Entfernte Standorte miteinander verbinden AD und Exchange (8)

Frage von Z006 zum Thema Windows Server ...

Windows Server
gelöst Windows Server 2012 mit Fritzbox per VPN verbinden (13)

Frage von StefanT81 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...