2016-03-31 14 views
0

Ich versuche, die Anzahl der Zeilen in zwei Tabellen zu erhalten. Die zwei beteiligten Tabellen sind:Abfrage, die Daten von zwei Tabellen nicht abruft

  • flagged_posts: Die 3 Reihen hat.
  • flagged_comments: Die 1 Zeile hat.

Hier ist, was ich habe:

$all_flagged_posts = mysqli_query ($connect, "SELECT * FROM flagged_comments c LEFT JOIN flagged_posts p ON c.id AND p.id"); 
     $num_of_total_flagged_posts = mysqli_num_rows ($all_flagged_posts); 
     echo $num_of_total_flagged_posts; 

Aber das Echo erzeugt das Ergebnis 3, wenn es 4 sein sollte?

Antwort

0

Da Sie die Anzahl der Zeilen ohne relationale Prüfung wollen - können Sie verwenden union

select sum(cnt) as total_count 
from 
(
    select count(*) as cnt from flagged_comments 
    union all 
    select count(*) from flagged_posts 
) tmp 
+0

arn't Sie fehlt ein 'cnt' in der zweiten Abfrage dort – RiggsFolly

+0

Nein, nur die erste Abfrage die definiert Spaltennamen –

+0

Ah Ich lerne jeden Tag etwas. – RiggsFolly

Verwandte Themen