WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 14.03.2005, 16:57   #1
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard SQL Query

Hallo, da ich nicht mehr ganz so fit in SQL bin (und wars auch noch nie) ich derzeit aber ein Problem zu lösen habe, hoffe dass mir hier geholfen werden kann. Vorweg noch an _m3 "Wenns nichts sinnvolles zu sagen hast, dann lass es bitte, mit Ergebnissen div. Suchmaschinen bin ich bestens versorgt"

So jetzt zum eigentlichen Kern des Posts:

Es erfolgt der Lesezugriff auf 3 Tabellen (tab.a, tab.b, tab.c)

Aus dem Select auf tab.a erfolgt mittels where-a ein Ergebnis mit x Zeilen, für jede dieser Ergebniszeilen wird mittels where-b in einer Select-Query wieder x Zeilen ermittelt und für jede dieser Ergebniszeilen wird ein sum() aus tab.c ermittelt.

Schlussendlich sollen das tab.c.sum() und ein tab.a.* als Ergebnis zurückgeliefert werden...

Wie schaut dazu die Query aus?

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 14.03.2005, 17:16   #2
frazzz
Inventar
 
Registriert seit: 11.01.2003
Beiträge: 5.292


Standard

Wie schaut dazu die Query aus?

Zitat:
Original geschrieben von pong
Darf ich mich einmischen?


etwa 2zeilig
____________________________________
pssst

tanj


frazzz ist offline   Mit Zitat antworten
Alt 14.03.2005, 18:31   #3
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

Wennst ein anschauliches Bsp hättest, könnt ich dir eher helfen

also du willst mal x-zeilen aus tab.a mit bedinung irgendwas

select * from A where a.X=0815

dann für jede dieser Zeilen ein Where mit Tabelle B

fragt sich halt ob A mit B irgendwie verknüpft ist. daher entweder:
select * from A inner join B on A.ID=B.ID where a.X=0815 AnD b.X=4711
oder
select * from A,B where A.X=0815 AnD B.X=4711
oder
select * from A,B where A.ID=B.ID AND A.X=0815 AND B.X=4711
oder
Select * from B where A.ID=(Select A_ID From A Where a.X=0815) AND B.X=4711

davon dann eine Summe aus Tabelle C, fragt sich wiederum mit welcher Tabelle die verknüft ist:

kann zb. so aussehen:
Select sum(X) from C where C.ID=Select B.ID from B where A.ID=(Select A_ID From A Where a.X=0815) AND B.X=4711

das ist alles ziemlich wirr, aber wie gesagt: mehr Angaben => bessere Lösung
T.dot ist offline   Mit Zitat antworten
Alt 14.03.2005, 20:00   #4
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard



pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 14.03.2005, 20:20   #5
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

something like this:

select tab.a.*,sum(tab.c.summspalte) from tab.a
inner join tab.b on tab.a.a_id=tab.b.a_id
inner join tab.c on tab.b.b_id=tab.c.b_id
where tab.a.irgendwas=irgendwas and tab.b.irgendwas2=irgendwas2
group by tab.a.spalte1, tab.a.spalte2, tab.a.spalte3

statt nach allen zeilen zu gruppieren, reicht es (je nach sql-dialekt) auch nur nach der id-spalte zu gruppieren
T.dot ist offline   Mit Zitat antworten
Alt 17.03.2005, 20:10   #6
Farkarich
Senior Member
 
Registriert seit: 19.09.2000
Alter: 40
Beiträge: 122


Farkarich eine Nachricht über ICQ schicken
Idee SQL

Hi

Wär ned blöd wennst auch noch dazuschreibst wo du das Statement ausführen willst, denn der Dialkt von Oracle is zB anders wie in MySQL, über Access reden wir gar ned weil dass is keine DB
Farkarich ist offline   Mit Zitat antworten
Alt 17.03.2005, 20:27   #7
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

stimmt, Access ist ein DBMS *angeblich*

Mich hätt trotzdem interessiert ob meine Query zu brauchen war
T.dot ist offline   Mit Zitat antworten
Alt 17.03.2005, 20:32   #8
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Hallo T.dot war leider nicht zu gebrauchen, da es die - mir gesetzte - 4k Grenze gesprengt hat, habs somit in 2 aufgeteilt

Danke für eure Hilfe

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 17.03.2005, 20:51   #9
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Zitat:
Original geschrieben von T.dot
stimmt, Access ist ein DBMS *angeblich*
Nein, Abszzss ist ein RAD-Tool.
Die draunterliegende Jet-Engine waere gerne ein RDMBS.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 17.03.2005, 20:56   #10
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von _m3
Nein, Abszzss ist ein RAD-Tool.
Die draunterliegende Jet-Engine waere gerne ein RDMBS.
Gott sei dank, gibt es seinen Senf wieder dazu... was wären wir nur ohne _m3

pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:42 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag