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

SQL Statment zwei Tabellen

Frage Entwicklung Datenbanken

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

08.07.2009, aktualisiert 20.10.2009, 3711 Aufrufe, 10 Kommentare

Hallo zusammen,

ich habe zwei Tabellen:

Angebote
KDNR ; Angebotnr ; Datum ;

Aufträge
KDNR ; Auftragnummer; Datum ;

Nun möchte ich einen Abfrage über jede Tabelle, das Ergebnis aber zusammenführen.

Abfrage1:
select kdnr, count(angebotnr) As AngebotAnzahl from angebote
where datum > '01.01.2009'
group by kdnr

als ergebnis bekomme ich:
kdnr ; AngebotAnzahl ;
1 ; 10 ;
2 ; 29 ;
usw.

Das gleiche kann ich mit Tabelle Aufträge machen, dann sieht das Ergebnis so aus:
kdnr ; AuftragAnzahl ;
1 ; 5 ;
2 ; 10 ;
usw.

Nun möchte ich aber eine Kombination aus beiden Ergebnis, welche so aussehen soll:
kdnr ; AngebotAnzahl ; AuftragAnzahl;
1 ; 10 ; 5 ;
2 ; 29 ; 10 ;
usw.

Kann ich dies mit reinem SQL verwirklichen oder benötige ich eine Procedur? (MSSQL2005)

Danke
Gruß
ottscho
Mitglied: BCCray
08.07.2009 um 15:51 Uhr
Hallo ottscho,

probier mal folgende query (bin ausm Kopf schreiben nicht der beste - also wenns nicht klappt... liegts an mir )

SELECT KDNR, COUNT(angebotnr) AS AngebotAnzahl, COUNT(auftragnummer) AS AuftragsAnzahl
FROM angebote ag join auftraege a where ag.kdnr = a.kdnr;

dürfte evtl zu dem gewünschten Ergebnis führen... so in der Art....

Greetz
Bitte warten ..
Mitglied: ottscho
08.07.2009 um 16:00 Uhr
Sorry, so kann es nicht gehen. Da bei Count ja die Ergebnisse gezählt werden und diese hier in einer Zeile stehen...
Sprich bei Count(angebotnr) und Count (auftragsnummer) kommen die gleiche Anzahl raus.

Zwischen den beiden Tabellen gibt es keine Beziehung!

Danke dir trotzdem...
Bitte warten ..
Mitglied: BCCray
08.07.2009 um 16:01 Uhr
stimmt..... hmm, aber vielleicht klappts mit einer Subselect und dann einen vergleich mit der KDNR?
Bitte warten ..
Mitglied: Biber
08.07.2009 um 16:03 Uhr
Moin ottscho,

versuch es so.
01.
SELECT * FROM ( 
02.
SELECT kdnr, count(angebotnr) As AngebotAnzahl, 0 as AuftragAnzahl  
03.
         FROM angebote where datum > '01.01.2009' 
04.
        Group by kdnr 
05.
UNION all 
06.
SELECT kdnr, 0, Count (AuftragNr)   
07.
        FROM Auftrag where datum > '01.01.2009' 
08.
       group by kdnr 
09.
10.
ORDER By 1;
Grüße
Biber
Bitte warten ..
Mitglied: ottscho
08.07.2009 um 16:09 Uhr
01.
SELECT * FROM ( 
02.
SELECT name, count(new_angebotnr) As AngebotAnzahl, 
03.
0 as AuftragAnzahl 
04.
FROM new_twangbot 
05.
where new_angebotdatum > '01.01.2009'  
06.
Group by name  
07.
 
08.
UNION all  
09.
 
10.
SELECT name, 
11.
0, 
12.
Count (new_auftragnr)    
13.
FROM new_twauftrag 
14.
where auftragdatum > '01.01.2009'  
15.
group by name ) 
16.
  
17.
ORDER By 1
Fehler:
Meldung 156, Ebene 15, Status 1, Zeile 17
Falsche Syntax in der Nähe des 'ORDER'-Schlüsselwortes.
Bitte warten ..
Mitglied: Biber
08.07.2009 um 22:14 Uhr
01.
SELECT name, sum(WTF) as AngebotAnzahl, sum(IsAlice) as Auftraganzahl  
02.
FROM ( 
03.
SELECT name, count(new_angebotnr) As WTF, 
04.
0 as IsAlice 
05.
FROM new_twangbot 
06.
WHERE new_angebotdatum > '01.01.2009'  
07.
GROUP BY name  
08.
 
09.
UNION ALL  
10.
 
11.
SELECT name, 
12.
0, 
13.
Count (new_auftragnr)    
14.
FROM new_twauftrag 
15.
WHERE auftragdatum > '01.01.2009'  
16.
GROUP BY name  
17.
18.
GROUP BY Name 
19.
ORDER BY name;
Bitte warten ..
Mitglied: ottscho
09.07.2009 um 07:56 Uhr
danke für deine bemühungen, aber leider kommt immer noch ein syntaxfehler:

01.
SELECT name, sum(WTF) as AngebotAnzahl, sum(IsAlice) as Auftraganzahl   
02.
FROM (  
03.
SELECT name, count(new_angebotnr) As WTF,  
04.
0 as IsAlice  
05.
FROM new_twangbot  
06.
WHERE new_angebotdatum > '01.01.2009'   
07.
GROUP BY name   
08.
 
09.
UNION ALL   
10.
 
11.
SELECT name,  
12.
0,  
13.
Count (new_auftragnr)     
14.
FROM new_twauftrag  
15.
WHERE new_auftragdatum > '01.01.2009'   
16.
GROUP BY name   
17.
)  
18.
GROUP BY name  
19.
ORDER BY name
fehler:
Meldung 156, Ebene 15, Status 1, Zeile 18
Falsche Syntax in der Nähe des 'GROUP'-Schlüsselwortes.
Bitte warten ..
Mitglied: MadMax
09.07.2009 um 09:11 Uhr
Moin Ottscho,

probier mal:
01.
select	an.KDNR, an.AngebotAnzahl, au.AuftragAnzahl 
02.
from	( 
03.
	select	KDNR, count (*) As AngebotAnzahl 
04.
	from	Angebote 
05.
	where	Datum > '01.01.2009' 
06.
	group by KDNR) an 
07.
	join ( 
08.
	select	KDNR, count (*) As AuftragAnzahl 
09.
	from	Aufträge 
10.
	where	Datum > '01.01.2009' 
11.
	group by KDNR) au on an.KDNR = au.KDNR
Gruß, Mad Max
Bitte warten ..
Mitglied: ottscho
09.07.2009 um 09:54 Uhr
super, hat nun bestens funktioniert

viele dank
Bitte warten ..
Mitglied: ottscho
20.10.2009 um 17:18 Uhr
Leider funktioniert es doch nicht 100%ig.

Sobald in der einen Tabelle bei Count nicht gezählt wird, wird nachher nicht 0 angezeigt, sondern der komplette Datensatz fällt raus.

Beispiel:
AngeboteAnzahl AuftragAnzahl
Datensatz1 1 1
Datensatz2 1 2
Datensatz3 0 1
Datensatz4 1 0

So sollte es aussehen, aber leider werden die unteren Beiden einfach nicht dargestellt.

Weiß jmd wie ich das SQL Statment ändern kann, dass es funktioniert?

Vielen Dank
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL - Zwei Tabellen zusammenführen
gelöst Frage von Memo66Datenbanken6 Kommentare

Hallo, ich bin dabei SQL zu lernen und habe mir dazu eine Fußballdatenbank angelegt. Ich habe nun folgendes Problem ...

Datenbanken
MySQL zwei Tabellen zusammenführen
gelöst Frage von RedBullmachtfitDatenbanken10 Kommentare

Hallo, ich habe in MySQL eine Artikel-Tabelle in welcher alle Artikel gespeichert sind sowie eine art_preise-Tabelle, in welcher nur ...

Entwicklung
SQL Update aus derselben Tabelle
gelöst Frage von winscheilEntwicklung1 Kommentar

Hallo, ich habe folgendes Problem. Ich habe eine Tabelle die folgendermaßen aufgebaut ist. Auftrag Rechnung Position Artikel Kosten NULL ...

Datenbanken
Foto aktualisieren in SQL Tabelle
gelöst Frage von Dr.CornwallisDatenbanken2 Kommentare

Liebe Gemeinde, ich habe eine Access Datenbank auf einen SQL Server hochgeladen. In dieser Datenbank gibt es eine Tabelle ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 21 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...