#1 30. November 2007 Hi, das Problem liegt glaub ich an dem COUNT, da nur die Artikel angezeigt werden, welche auch einen Kommentar haben. Ziel meiner Abfrage ist alle Artikel zu holen und dazu eine Angabe über Kathegorie und Kommentare zu geben. So wie es immer bei Blogs ist Erstmal die Abfrage: Code: SELECT ca.title AS category, ar.*, DATE(ar.date) AS date, COUNT(*) AS comments FROM articles AS ar, categories AS ca, comments AS co WHERE ca.url_title = 'frameworks' AND ar.category_id = ca.id AND co.article_id = ar.id GROUP BY co.article_id ORDER BY date DESC; Die dazugehörigen Tabellen: Code: CREATE TABLE `articles` ( `id` int(11) NOT NULL auto_increment, `text` text collate latin1_general_ci NOT NULL, `title` varchar(112) collate latin1_general_ci NOT NULL, `url_title` varchar(112) collate latin1_general_ci NOT NULL, `author` varchar(112) collate latin1_general_ci NOT NULL, `date` datetime NOT NULL, `category_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=11 ; CREATE TABLE `categories` ( `id` int(11) NOT NULL auto_increment, `title` varchar(112) collate latin1_general_ci NOT NULL, `url_title` varchar(112) collate latin1_general_ci NOT NULL, `parent_id` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=10 ; CREATE TABLE `comments` ( `id` int(11) NOT NULL auto_increment, `name` varchar(112) collate latin1_general_ci NOT NULL, `text` text collate latin1_general_ci NOT NULL, `ip` varchar(112) collate latin1_general_ci NOT NULL, `article_id` int(11) NOT NULL, `date` varchar(112) collate latin1_general_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=4 ; + Multi-Zitat Zitieren
#2 30. November 2007 AW: SQL Statement funzt nicht Also bevor ich selbst anfange deine Arbeit zu rekonstruieren, würde ich doch gerne bitten, erstmal den Fehler zu zitieren und zu benennen!? + Multi-Zitat Zitieren
#3 1. Dezember 2007 AW: SQL Statement funzt nicht Es gibt keinen direkten Fehler. Was nicht funktioniert ist, dass mit diesem Statement nur Artikel ausgegeben werden, die einen Kommentar haben. Alle anderen Artikel werden nicht ausgegeben. Das ist das Problem. Ich glaube, dass der interpreter das COUNT(*) irgendwie als false wiedergibt, wenn keine Artikel vorhanden sind und somit bei einem Artikel ohne Kommentar abgebrochen wird + Multi-Zitat Zitieren
#4 1. Dezember 2007 AW: SQL Statement funzt nicht Zieh dir mal die Tutorials zu den Join-Syntax-Formen rein, die "Punkt-Joins" sind für solche Dinge (Ausschluss, felder leer lassen etc.) nicht so mächtig wie die vollständige Join - Syntax, erste anlaufstelle wäre z.B. MySQL :: MySQL 5.0 Reference Manual :: 13.2.8.2 JOIN Syntax und der LEFT JOIN sollte dir auf jeden Fall schon mal weiterhelfen. + Multi-Zitat Zitieren
#5 1. Dezember 2007 AW: SQL Statement funzt nicht Okay danke für die Hilfe mal schaun was so bei rauskommt + Multi-Zitat Zitieren