![]() |
SQL Probleme
Hallo zusammen!
Ich hab ein verdammt beschissenes SQl Problem: Gegeben sind 2 Tabellen. In der ersten Tabelle stehen meine PKeys. Nr1 Nr2 Nr3 Nr4 etc. In der 2. Tabelle stehen folgende Werte: Nr1 Lebensgefährte Nr1 Kind1 Nr1 Kind2 Nr2 Lebensgefährte Nr2 Kind1 Nr2 Kind2 Nr2 Kind3 etc Ich muß das ganze wie folgt darstellen: Nr1 Lebensgefährte Kind1 Kind2 Nr2 Lebensgefährte Kind1 Kind2 Kind3 Wie könnte ich das eventuell lösen? Mit ner Kreuztabelle? Bitte um dringende Hilfe!!!!! LG Joerg |
meinst du die abfrage?
Code:
"SELECT ErsteTab.*, zweiteTab.* FROM tab1 ErsteTab, tab2 zweiteTab WHERE ErsteTab.ID = '".$ID."' AND ErsteTab.ID = ZweiteTab.ID" |
Kann das jetzt nicht ganz nachvollziehen.
Die erste Tabelle VwPeNm, der PK ist VwPeNm.sItPeNr. In der zweiten Tabelle hab ich Beziehungen_Person.Intern_Personen welche auf den PK verknüpft. Die 2. Spalte die ich brauch ist Beziehungen_Person.Intern_Personenbeziehung. In der 2. Tabelle können die Einträge mehrfach vorhanden sein. Die will ich aber nicht vertikal sondern horizontal darstellen. Meinetwegen auch in ner neue Tabelle. Hoffe ich konnte mich ordentlich artikulieren ... LG Joerg |
ähm willst du das in access machen?
weil falls du es in php machen willst sehe ich das problem nicht. |
nö, direkt im iSQL der Sybase DB ...
|
müsste schon gehen wenn du das ergebnis der abfrage aus tabelle zwei durchläufst und die werte aneinander hängst...
weiss aber nicht ob das in deiner umgebung überhaupt geht lg rem996 |
nur wie mach ich das? hab keine ahnung wie das syntaktisch zu lösen ist ....
LG Joerg |
keiner da der helfen kann?
|
SELECT a.spalte2, b.spalte2, c.spalte2 FROM tabelle2 a, tabelle2 b, tabelle2 c WHERE a.nr = b.nr AND a.nr = c.nr AND a.spalte2 <> b.spalte2 AND b.spalte2 <> c.spalte2 AND a.spalte2 <> c.spalte2;
Vermutlich wird diese SQL Abfrage nicht funktionieren, aber sie ist vielleicht ein Ansatz? mfg c. |
Zitat:
Auch den Ansatz kann ich im Moment noch nicht erkennen ... :mad: Mir scheint ich muss das tatsächlich in ner SP lösen, nur fehlt mir da ebenfalls erstmal der Plan ... LG Joerg |
die kreuztabelle war schon der richtige ansatz, nur gibt's da die verschiedensten syntax... such mal nach "PIVOT TABLE" und SYBASE, eventuell auch TRANSFORM...
|
Zitat:
Mal weiter googlen, auf jeden Fall danke LG Joerg |
Zur Veranschaulichung!!!!
So siehts aus ... Von der ersten Tabelle brauch ich nur den PK darum schaut meine Abfrage so aus: Select sItPeNr from VwPeNm where etc .... Ergebnis: sItPeNr(PK)| ------------ MK00082219 | MK00082220 | MK00082229 | . | . | . | . | In der zweiten Tabelle gibt's 2 Spalten die Mich interessieren: Select Intern_Person, Intern_Personenbeziehung from Beziehungen_Person Ergebnis: Intern_Person | Intern_Personenbeziehung ----------------------------------------- MK00082219 | MK00234565 MK00082219 | MK01234234 MK00082219 | MK00342144 MK00082220 | MK00000123 MK00082220 | MK00004526 MK00082220 | MK00234545 . | . Anzeigen möchte ich aber in Verbindung mit Tabelle 1 sItPeNr | Intern_Personenbeziehung(Array) -------------------------------------------- MK00082219 | MK00234565 MK01234234 MK00342144 MK00082220 | MK00000123 MK00004526 MK00234545 Vielleicht besser ersichtlich was ich meine ... LG Joerg |
ich glaube nicht dass man dieses problem nur über sql lösen kann, weil du z.b. auch innerhalb des sql-statements nicht weisst wieviel werte aus der 2ten tabelle dann zu einem pk aus der ersten tabelle zurückkommen... (hab ich das richtig kapiert?)
ich weiss nicht was du auf deiner db für mögichkeiten hast, ich würde es wahrscheinlich über pl/sql machen und das result nacher in eine extra table schreiben 1. alle pk's in tabelle 1 durchlaufen 2. zu jedem pk die werte aus der table 2 holen (in pl/sql bsp als cursor) 3. über den cursor iterieren 4. die einzelnen werte auslesen und über eine string variable aneinander-hängen 5. das ergebnis, also den pk und die string-variable über einen insert in einen temp-table schreiben. weiss nicht ob dir das was nützt, falls nicht sorry aber mir fällt dazu auch nix anderes mehr ein. vielleicht kann man das auch ohne temp-table bis zur darstellung bringen, dazu müsste ich mir das ganze schon etwas genauer ansehen.. lg rem996 |
Danke für alle Beiträge!
Habs jetzt extern über VBScript gelöst! LG Joerg |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 06:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag