Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Backware
Threadersteller
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Di 23.10.2007 14:04
Titel [MYSQL] Beiträge in 2. Tabelle im Ergebnis beachten. |
|
|
Hi Leute,
ich brauch MYSQL-Hilfe, bin gerade etwas am... sagen wir verzweifeln ^^.
UND ZWAR:
tabelle 1
threadid, foo
tabelle 2
postid, threadid, title, content, bar
diese beiden tabellen umschreiben ein forum. und zwar ist in tabelle 1 der jeweilige thread erfasst. und in tabelle 2 sind alle posts dazu erfasst.
ich möchte nun alle threads auslesen:
Code: | SELECT one.`threadid` FROM `tabelle_1` AS one |
dabei solls aber nicht bleiben, ich will nun noch auflisten, wieviel posts es dazu gibt:
Code: | SELECT one.`threadid`, COUNT ( two.`threadid` ) AS anzahl FROM `tabelle_1` AS one, `tabelle_2` AS two WHERE one.`threadid` = two.`threadid` |
sofern ich das habe, wird nach anzahl sortiert.
Das problem ist nun: wenn KEINE posts in einem thread vorhanden sind, wird der thread an sich nicht mit 0 Posts gelistet, sondern garnicht ins Statement genommen. und das will ich nicht ich will alle anzeigen. habt ihr da schonmal erfahrung mit gemacht?
wäre glücklich über konstruktive beiträge.
edit: will euch noch drauf hinweisen, dass das beispiel etwas verfremdet ist und die aufgabenstellung so 100% zutreffen muss... also sowas wie "mimimi wenn in einem thread kein post ist, gibts auch keinen thread" oder sowas.... gilt nicht... dann will ich halt mit 0 Posts auflisten..... so, da habt ihrs...
Zuletzt bearbeitet von Backware am Di 23.10.2007 14:05, insgesamt 1-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 23.10.2007 16:05
Titel
|
|
|
Left Join oder nicht?
|
|
|
|
|
Anzeige
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 23.10.2007 16:07
Titel
|
|
|
Du musst Dein Query etwas umstellen und anstelle eines SELECT über 2 Tabellen mit einem LEFT JOIN arbeiten.
Ungeprüft:
Code: |
SELECT one.threadid, COUNT(two.threadid) AS anzahl
LEFT JOIN tabelle_2 AS two ON one.threadid = two.threadid
FROM tabelle_1 AS one
|
|
|
|
|
|
Backware
Threadersteller
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Mi 24.10.2007 10:11
Titel
|
|
|
Sarky hat geschrieben: | Du musst Dein Query etwas umstellen und anstelle eines SELECT über 2 Tabellen mit einem LEFT JOIN arbeiten.
Ungeprüft:
Code: |
SELECT one.threadid, COUNT(two.threadid) AS anzahl
LEFT JOIN tabelle_2 AS two ON one.threadid = two.threadid
FROM tabelle_1 AS one
|
|
ich hab jetzt n neues problem
auslesen klappt. vielen dank für den hinweis, war irgendwie auf der leitung gestanden....
das folgende problem wird ihnen präsentiert von: BACKWARE
Code: | SELECT a.`threadid` FROM `my_threads` AS a LEFT JOIN `my_posts` AS b ON a.`threadid` = b.`threadid` WHERE a.`title` IS NOT NULL AND ( a.`title` LIKE '%a%' OR a.`text` LIKE '%a%' ) GROUP BY a.`threadid` ORDER BY a.`status` ASC |
das ist mein query, der funzt auch wunderbar... nur will ich jetzt noch nach "posts-Anzahl" sortieren... dabei hatte ich 2 varianten:
Code: | SELECT a.`threadid`, COUNT ( b.`threadid` ) AS anzahl FROM `my_threads` AS a LEFT JOIN `my_posts` AS b ON a.`threadid` = b.`threadid` WHERE a.`title` IS NOT NULL AND ( a.`title` LIKE '%a%' OR a.`text` LIKE '%a%' ) GROUP BY a.`threadid` ORDER BY anzahl ASC, a.`status` ASC |
ODER:
Code: | SELECT a.`threadid` FROM `my_threads` AS a LEFT JOIN `my_posts` AS b ON a.`threadid` = b.`threadid` WHERE a.`title` IS NOT NULL AND ( a.`title` LIKE '%a%' OR a.`text` LIKE '%a%' ) GROUP BY a.`threadid` ORDER BY COUNT ( b.`threadid` ) ASC, a.`status` ASC |
beides funzt nicht.... fehlermeldung:
Zitat: | Error Code : 1146
Table 'mysql.proc' doesn't exist
(0 ms taken) |
Ich werd echt zum Fuchs hier.... Ich steh scheinbar grad voll aufm schlauch oder bin einfach nur blöd.... MEINE FRESSE ...
für eure hilfe wäre ich euch sehr dankbar.
|
|
|
|
|
|
|
|
Ähnliche Themen |
mySQL nächstes Ergebnis
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
[solved] / [PHP/MySQL] Ergebnis der Abfrage = 0
MySQL Tabelle
MYSQL Tabelle in HTML (php)
[MySQL] maximale Einträge Tabelle?
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|