Willkommen auf dem Portal für Mediengestalter
|
|
|
| Autor |
Nachricht |
Backware
Threadersteller
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 23
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
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 23.10.2007 16:05
Titel
|
 |
|
|
Left Join oder nicht?
|
|
| |
|
 |
Sarky
Moderator
Dabei seit: 29.06.2002
Ort: Stuttgart
Alter: 26
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: 23
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] maximale Einträge Tabelle?
Textdatei zeilenweise in schleife in MySQL-Tabelle einfügen?
PHP,MYSQL --> DESCRIBE (infos über tabelle anzeigen lasse
|
 |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|