zwei Tabellen gleichzeitig abfragen ?
Andreas B.
- datenbank
0 Stiba0 Ludger Keitlinghaus0 fk
Hallo,
ist es möglich das ich zwei Tabellen gleichzeitig abfragen kann? Aus der ersten Tabelle will ich alle Einträge holen die eine bestimmte Bedingung erfüllen. Dann sollen die Einträge noch weitere Bedingungen erfüllen die in der zweiten Tabelle stehen.
Habt ihr eine Lösung für mein Problem? Es wäre nett wenn ihr ein paar Beispiele habt da ich mit DB noch nicht sehr gut kann.
Andreas
hallo!
also wenn ich dich richtig verstanden habe sollte dir das vileicht helfen! Du kannst beliebig viele DB connections aufmachen!
Aber gleichzeitig läuft nichts!!
nacheinader aber trotzdem in selben Script.. kwim?
<?php
$sql = "Select * from blocks";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res)){
$nummer = $row["nummer"];
$sql2 = "Select * from inhalte where nummer = '$nummer' Order by Datum Desc";
if($rowcount >= 1 ) {
?>
<tr>
<td width="125" rowspan="<?php echo $rowcount; ?>" bgcolor="#DCDCDC" class="smalltextc1bold"><div align="center"><?php echo $row["strName"]; ?></div></td>
<?php
$rowcount =0;
$res2 = mysql_query($sql2);
while ($row2 = mysql_fetch_array($res2)){
$nummer2 = $row2["nummer"];
if($row2["url"] == 1) {
$sonstiges = "<a href="#" onClick="MM_openBrWindow('sonstiges/". $row2["sonstiges"] . "','test1','scrollbars=yes,width=500,height=300');return document.MM_returnValue">Details</a>";
}else{
$sonstiges = $row2["sonstiges"];
}
?>
<td width="145" height="30" bgcolor="#EEEEEE" class="normtextc2bold"><div align="center"><?php echo $row2["beschreibung"]; ?></div></td>
<td width="85" height="30" bgcolor="#EEEEEE" class="smalltext"><div align="center"><?php echo $row2["datum"]; ?></div></td>
<td width="94" height="30" bgcolor="#EEEEEE" class="smalltext"><div align="center"><?php echo $row2["uhrzeit"]; ?></div></td>
<td width="101" height="30" bgcolor="#EEEEEE" class="smalltext"><div align="center"><?php echo $sonstiges; ?></div></td>
</tr>
<?php
}
}
?>
Hallo,
ist es möglich das ich zwei Tabellen gleichzeitig abfragen kann? Aus der ersten Tabelle will ich alle Einträge holen die eine bestimmte Bedingung erfüllen. Dann sollen die Einträge noch weitere Bedingungen erfüllen die in der zweiten Tabelle stehen.Habt ihr eine Lösung für mein Problem? Es wäre nett wenn ihr ein paar Beispiele habt da ich mit DB noch nicht sehr gut kann.
Andreas
Hallo,
oje da schaue ich wie ein Schwein ins Ohrwerk, naja nicht ganz so aber ganz verständlich ist das für mich nicht.
So sieht es im Moment aus:
$sql = "select * from usercredits where aktiv = 'ja' and gesperrt = 'nein' order by rand() limit $w_links_anz";
$result = mysql_query($sql);
$daten = mysql_fetch_row($result);
$daten_anzahl = mysql_num_rows($result);
Nun habe ich 4 Einträge aber ich benötige 4 Einträge die nochmals die Bedinungen der zweiten Tabelle erfüllen müssen.
Andreas
yo,
sag uns doch einfach mal, wie die beiden tabellen aufgebaut sind und welche art von daten sie enthalten sollen. dann können wir dir auch sehr genau sagen, ob und wie man das macht.
Ilja
Hallo,
das mit der Join Verbindung klingt schonmal gut nur weiß ich nicht wie man das macht.
Was soll ich da groß erklären wie sie aufgebaut sind, ein paar kurze Brocken die genügen müßten:
In Tab1 steht die ID und soll gefragt werden ob "aktiv" ist. Dies bekomme ich ja auch hin. Nun soll noch in der zweiten Tabelle gefragt werden ob "angelegt" ist.
Erst wenn "aktiv" und "angelegt" die Bedinung erfüllen sollen zufällig 4 der ID genommen werden.
Andreas
sag uns doch einfach mal, wie die beiden tabellen aufgebaut sind und welche art von daten sie enthalten sollen. dann können wir dir auch sehr genau sagen, ob und wie man das macht.
yo, Andreas,
Was soll ich da groß erklären wie sie aufgebaut sind, ein paar kurze Brocken die genügen müßten:
das reicht eben nicht. um dir genau sagen zu können, ob ein join möglich ist und wenn ja wie genau der aussehen soll, braucht es eben ein paar genau details. ich denke mal, wenn wir uns die mühe mchen, dir zu helfen, dann solltest du dir die mühe machen, uns den genauen aufbau der tabellen zu geben. oftmals lieg im aufbau der tabellen auch das problem und somit auch die lösung.
Ilja
Hallo,
ja verstehe dich schon aber an dem Aufbau der Tabellen kann ich nichts mehr verändern. Ich dachte es reicht wenn ich euch sage was wichtiges in den Tabellen abgefragt werden soll. Leider weiß ich jetzt nicht was noch so wichtig sein soll.
Jedenfalls versuche gerade eine andere Lösung, vieleicht könnt ihr mir sagen ob diese ok ist oder ob das zu große Datenmengen sind.
-Ich hole mir alle Einträge aus Tab 1 die die Bedingung "aktiv" erfüllen. Nun will ich ja 4 Einträge davon haben. Jetzt nehme ich die ID und hole mir die Daten aus Tab 2 und lasse mit einer if Abfrage prüfen ob die Bedingung erfüllt wird, ist Sie erfüllt gehts weiter. Wenn diese nicht erfüllt wird, wird nichts gemacht und der nächste Eintrag wird geprüft. Das lasse ich in einer while Schleife laufen und bekomme so meine 4 Einträge.
Ist das so auch Sinnvoll? Jedenfalls erfüllt es so seinen Zweck.
Andreas
yo,
ich kann mich nur wiederholen. um eine lösung beurteilen zu können, ist der aufbau, bzw. das datenmodell von grosser bedeutung, egal ob man es nun verändert oder nicht. daten (entitäten) stehen in bestimmten beziehungen zueinander. wie nun daten ausgelesen werden, hängt sehr stark von diesen beziehungen und somit vom datenmodell ab. man kann nicht einfach einen join über zwei tabellen bilden, ohne die struktur zu kennen. du solltest dir die mühe machen, um so besser können wir auf dich eingehen.
Ilja
Hi,
ich kann mich nur wiederholen. um eine lösung beurteilen zu können, ist der aufbau, bzw. das datenmodell von grosser bedeutung, egal ob man es nun verändert oder nicht. [...]
eine wirklich beachtenswerte Beratungsresistenz. Es fehlt anscheinend jegliches Verstaendnis bzgl. ueblicher Vorgehensweisen im IT-Bereich.
Gruss,
Ludger
Hi,
ist es möglich das ich zwei Tabellen gleichzeitig abfragen kann?
wenn Du weisst, warum Du _gleichzeitig_Ä zwei Tabellen "oeffnen" moechtest, dann kennst Du auch das Kriterium, das beide Tabellen "zusammenhaelt". Also muesstest Du eine SELECT-Abfrage auf zwei Tabellen mittels eines sog. JOIN ausfuehren.
Gruss,
Ludger
welcher schwachsinn im folgenden auch immer gepostet sein mag, ist die vorsztehende antwort die einzig richtige.
eine verknüpfunung vo von mehreren ntabellen geht nur über einen JOIN!!!
hierbei werden die verknüpfungs´kriteien üner die on-bedingungen bestimmt, und die auswahl der ergebnismeneg in der WHERE bedingung bestzimmt!!
prost!!!