MYSQL- 2 tabellen mit einem select auslesen

grünes-huhn

Mitglied
hi!

ich hab ein kleines problem. ich möchte zwei tabellen in einem select befehl auslesen:

dies mache ich so:

PHP:
$sql="SELECT * FROM eb, blog";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){

also eh simpel. nun sollte er mir alles was in diesen tabellen drin steht anzeigen, oder nicht?

in "eb" sind 2 datensätze drin, in "blog" 5.

was er tut:
er nimmt alles aus "blog" und schreibt jeden datensatz 5x.

wenn ich im select eb und blog vertausche, schreibt er alles von eb und das 2x

mach ich was falsch?

danke für eure hilfe!
 
hi!

ich hab ein kleines problem. ich möchte zwei tabellen in einem select befehl auslesen:

dies mache ich so:

PHP:
$sql="SELECT * FROM eb, blog";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){

also eh simpel. nun sollte er mir alles was in diesen tabellen drin steht anzeigen, oder nicht?

in "eb" sind 2 datensätze drin, in "blog" 5.

was er tut:
er nimmt alles aus "blog" und schreibt jeden datensatz 5x.

wenn ich im select eb und blog vertausche, schreibt er alles von eb und das 2x

mach ich was falsch?
Du verwendest einen Verbund (JOIN) statt einer Vereinigung (UNION):
SQL:
select * from eb UNION select * from blog;
Beachte aber, das die Tabellen natürlich das gleiche Schema aufweisen müssen.

Gruß
 
Hi

Zu erst: Bitte an die Netiquette halten!

ZUm Thema:
Wenn du von zwei Tabellen die Werte so abfragst, ohne die Datensätze zu verknüpfen, entsteht ein Kreuzprodukt.

Da ich nicht weiß, wie deine Tabellen aussehen und in Relation zu einander sind:
Du benötigst zusätzliche ein Where-Klausel, in der du die Tabellen mit einander verknüpfst, also festlegst, wie die Relation für diese Abfrage aussieht.

Bsp.
SQL:
SELECT * FROM TabA, TabB WHERE TabA.ID = TabB.IDA
 
Du verwendest einen Verbund (JOIN) statt einer Vereinigung (UNION):
sql Code:
SELECT * FROM eb UNION SELECT * FROM blog;



Beachte aber, das die Tabellen natürlich das gleiche Schema aufweisen müssen.

Gruß


Super Danke, hat mir sehr geholfen!!
UNION kannte ich nicht. Man lernt nie aus.

Ja die Tabellen sind exakt von der gleichen Struktur.




@Nico Graichen: sorry, meine Groß-Kleinschreibung.....
 
für alle, die vor ähnlichem Problem stehen:

Aufgabe:
Die aktuellsten 3 Datensätze aus zwei Tabellen mit gleicher Struktur.

SELECT:

PHP:
SELECT * FROM eb UNION SELECT * FROM blog ORDER by datum LIMIT 3
 

Neue Beiträge

Zurück