"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

mysql 2 tabellen, tabelle1 immer tabelle2 muss passen

bBU.CyTrobIc 29.06.2006 - 16:26 852 14
Posts

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
Hi,

ich habe 2 Mysql Tabellen und möcht folgendes machen:

TabelleA soll immer komplett ausgegeben werden.

Von TabelleB soll das Feld Name ausgegeben werden wenn die IdNr von TabelleB in dem Textfeld istDrin von TabelleA vorkommt.

möglichkeiten ? :rolleyes:

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
SELECT a.blalal, b.hihi FROM a LEFT JOIN b ON b.IdNr=a.istDrin

oder steht im istDrin mehr als nur 1 ID? Wenn das so ist würd ich das datenbank design STARK überdenken.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
würde ich mit einer extra tabelle lösen, die beim speichern des textfelds aktualisiert wird.

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
wenns so gemeint ist wie mat das jetzt meint dann meine ich, dass das die beste lösung wär, weil so würd das ding wenigstens einigermaßen wieder den normalformen entsprechen *g* ;)

aber jeder wie er meint.

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
naja ich ordne da Kräne der Kaimauer zu (hafensimulation) und an einer kaimauer stehen mehrere Kräne aber die Kräne können auch an verschiedenen Kaimauern zum einsatz kommen. Daher steht im istDrin Feld mehr als eine ID immer mit leerzeichen getrennt. Wie würdest du das machen ?

semteX

begehrt die rostschaufel
Avatar
Registered: Oct 2002
Location: Pre
Posts: 14594
das ist ne klassische m zu n beziehung... wie mat schon sagte:

du machst ne tabelle mit:

kaimauer | kran

beides sind deine primärschlüssel.

dann schaut das so aus:
Code:
kaimauer  |  kran
1            1
1            2
1            3
2            4
2            3
3            5
Dadurch hast du eine kaimauer mit mehr kränen und einen kran mit mehr kaimauern (in dem fall wärs kran 3)

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
aber dann hab ich ja hunderte einträge in der m:n tabelle

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
und das ist um einiges schneller als irgendein query mit einer stringfunktion, die für dich sowieso nicht in frage kommt.

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
dafür gibts ja datenbanken

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
ok ich werds mal versuchen , danke für die hilfe :)

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Zitat von bBU.CyTrobIc
aber dann hab ich ja hunderte einträge in der m:n tabelle

Derartige Bedenken kannst du getrost verschieben, bis du hunderte Millionen Einträge in der Tabelle hast. :)

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
naja ok, wie rechne ich das eigentlich:

10 kaimauern : 10 kränen

sind doch 10^10 möglichkeiten oder ?
also 10.000.000.000 sätze ?
oder nur 10*10 = 100 ?

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
Zitat von bBU.CyTrobIc
naja ok, wie rechne ich das eigentlich:

10 kaimauern : 10 kränen

sind doch 10^10 möglichkeiten oder ?
also 10.000.000.000 sätze ?
oder nur 10*10 = 100 ?

Probiers mit kleineren Zahlen aus, dann ist es relativ einfach. Wieviele Möglichkeiten gibt es mit 2 Kaimauern und 2 Kränen? Wieviele mit 3 und 3? Und welche mathematische Funktion ist das?

Luzandro

OC Addicted
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
Zitat von bBU.CyTrobIc
naja ok, wie rechne ich das eigentlich:

10 kaimauern : 10 kränen

sind doch 10^10 möglichkeiten oder ?
also 10.000.000.000 sätze ?
oder nur 10*10 = 100 ?

du brauchst dir das ganze ja nur etwa so vorstellen
Code:
  1  2  3
A    X
B    X  X
C X  X
wobei du eben nur die "koordinaten" dieser schnittpunkte speicherst

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
also 10*10 ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz