Suche |
---|
|
SEITE: :: « 1 :: 1 SEITE(N) | |
13.05.2007 10:35 miss_kitty(36) 74 Postings | Hallo zusammen, ich hab ein Problem beim Auslesen von Daten aus einer Datenbankbasis.Ich möchte aus mehreren Tabellen verschiedene Spalten auslesen. Allerdings wird mir immer eine Kombination der Attribute geliefert. Heißt ich möchte aus der einen Tabelle das Bauobjekt und die Nummer auslesen und aus der Tabelle Baufahrzeuge in Kombination mit Krane über die Krannummer und die Fahrzeugnummer den Fahrzeugtyp des Krans, der zum Bauobjekt gehört. In der Tabelle Bauobjekte aber nur als Fremdschlüssel mit der Krannummer existiert. Und mit folgendem Befehl orndet er jedem Bauvorhaben einmal jeden Kran zu... select Bauobjekt,BauobjektNr,Fahrzeugtyp,Einsatzbereitschaft from Rohbau,Baufahrzeuge where Baufahrzeuge.FahrzeugNr In(select FahrzeugNr from Krane,Rohbau where Rohbau.KranNr=Krane.KranNr); vielleicht kann mir von euch jem weiterhelfen? mfg EDIT: überschrift heißt natürlich relationale Datenbanken ---- Dieser Beitrag wurde am 13.05.2007 10:45 editiert!
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
|
|
13.05.2007 11:06 DonCarlos(39) 16 Postings | hi, also das erste was ich mal sehe ist dass wohl in deinem subselect was nicht passt, müsste das nicht rohbau.krane heissen ? aber irgendwie ist bräuchtest du noch eine verknüpfung der selects ... schreibst du bitte mal die beiden tabellen auf ? welche spalten wo drin sind ? kannst mir auch per icq schreiben
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:27 miss_kitty(36) 74 Postings | Zitat: das eine san Krane(Krannummer(Primärschlüssel),fahrzeugnummer) dann Baufahrzeuge(fahrzeugnr.(Primärschlüssel),fahrzeugtyp,Leistungsparameter,Einsatzbereitschaft) und Rohbau (Bauobjektnummer(primärschlüssel);Bauobjekt,KranNr.(fremdschlüssel))
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:34 DonCarlos(39) 16 Postings | select r.bauobjektnummer, r.bauobjekt , b.fahrzeugtyp,b.einsatzbereitschaft from rohbau r join krane k on r.krannr = k.krannummer join baufahrzeuge b on b.fahrzeugnr = k.fahrzeugnummer where bauobjektnummer =XY die where klausel könntest du dir sparen , aber dann kriegst halt die auflistung über alle bauobjekte btw: fahrzeugtyp, ist das auch nochmal eine fremdschlüsselbeziehung ? die müsstest evtl dann auch noch joinen klappts so ? das war nur mal schnell so geschrieben PS: mir fällt grad ein , wenn ein bauobjekt nun keinen kran hat , wird das bauobjekt nicht ausgewiesen, da müsstest dann mit left und right join arbeiten ---- Dieser Beitrag wurde am 13.05.2007 11:36 editiert!
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:41 miss_kitty(36) 74 Postings | Zitat: du beziehst dich ja jetzt auf eine bestimmte bauobjektnummer, oder? ich will ja eig alle aufgelistet haben...quasi die ganze tablle... loin und union gingen eig gar ned, da hab ich nur fehlermeldungen gehriegt und bei union hat er keine neuen spalten sondern zeilen gemacht wahrscheinlich stell ich mich einfah ein wenig
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:48 DonCarlos(39) 16 Postings | join und union sind ganz verschiedene sachen wenn du das für die ganze tabelle haben willst , lässt du einfach die where bedinung weg .... join hängt zwei verschiedene tabellen zusammen (also an den von mir definierten stellen/spalten) union hängt zwei verschiedene abfragen (mit gleicher ergebnisspaltenmenge) zusammen => union brauchst du nicht kennst du dich mit (left/right) joins aus ?
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:52 miss_kitty(36) 74 Postings | Zitat: nein ich muss jetzt mal schauen ob das jetzt geht. brauch ich bei dem select obne gleich den tabellennamen?
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 11:57 DonCarlos(39) 16 Postings | wie meinst du das mit "gleich einen tabellennamen" ? wenn du das "r." davor meinst, das ist optional , solang kein spaltennmane mehrfahch in den tabellen vorkommt, aber sicherheitshalber macht mans normal hin
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
13.05.2007 12:02 miss_kitty(36) 74 Postings | Zitat: ja, ich hab das select r.bauobjektnummer gemeint...
MEHR | Verwarnpunkte: 0 | Forumsperren: 0 |
SEITE: :: « 1 :: 1 SEITE(N) |
Du wagst es nicht bei bsmparty.de angemeldet zu sein? :)
Als registrierter User kannst du aktiv in der Community teilnehmen, lernst viele neue Leute kennen, bekommst eine eigene User Card, kannst mit den anderen Usern chatten u.v.m.
Also nichts wie registrieren -
die Anmeldung dauert 2 Minuten und ist absolut kostenlos!!
ZUR ANMELDUNG
» Zum Seitenanfang