SELECT und COUNT aus verschiedenen tabellen in einer query
Steve
- datenbank
Hallo,
kann mir da einer weiterhelfen:
ich möchte einmal aus einer tabelle einen wert per COUNT erfassen, und aus einer anderen Tabelle möchte ich Titel erfasen. beide haben die gleichen WHERE werte.
in 2 abfragen sähe das so aus:
$result=mysql_query("SELECT COUNT(id
) AS comments FROM comments
WHERE cat
='".$cat."' AND ucat
='".$ucat."'");
$row=mysql_fetch_array($result);
$comments=$row["comments"];
$result=mysql_query("SELECT title
FROM title
WHERE cat
='".$cat."' AND ucat
='".$ucat."'");
$row=mysql_fetch_array($result);
$title=$row["title"];
kann ich das auch mit einerabfrage machen, habe da ein wenig experimentiert, klappt aber nicht
steve
SELECT c.COUNT(id
) AS comments, t.title
FROM comments
c inner join title
t
ON c.cat = t.cat AND c.ucat = t.ucat
WHERE cat
='".$cat."' AND ucat
='".$ucat."'");
Hallo,
SELECT c.COUNT(
id
) AS comments,t.title
^Welches DBMS kann das denn? Ich würde COUNT(c.id) schreiben.
FROM
comments
c inner jointitle
tON c.cat = t.cat AND c.ucat = t.ucat
WHERE
cat
='".$cat."' ANDucat
='".$ucat."'");
ERROR 1140: Mixing of GROUP columns (MIN(),MAX(),COUNT()...)
with no GROUP columns is illegal if there is no GROUP BY clause.
Mal in die Handbücher schauen?
http://www.mysql.com/doc/en/Counting_rows.html
viele Grüße
Axel
yo,
kann ich das auch mit einerabfrage machen, habe da ein wenig experimentiert, klappt aber nicht
syntaktisch geht das schon, aber von der bedeutung sollte kein vernüftiges ergebnis rauskommen. nur weil zwei statements die gleiche where klausel haben, macht es deswegen noch lange kein sinn, sie zusammenzuführen, schon gar nicht, wenn es sich um zwei unterschiedliche tabellen handelt.
Ilja