2012-04-03 17 views
0

ich eine Abfrage, und ich bin nach einer Möglichkeit, eine Unterabfrage und hat die Ergebnisse verbunden als letzte SpalteMySQL Sub-Abfrage Join-Abfrage zu Abfrage exisiting

So etwas wie dies zu tun: Meine aktuelle Abfrage funktioniert und ist ähnlich wie folgt aus:

SELECT * FROM users_table JOIN randomjoin here WHERE blah 

die zweite Frage, die ich laufen und möchte in die erste Abfrage integrieren ist:

SELECT COUNT(*) FROM #__community_fields_values WHERE field_id="16" AND value="'. $row->username .'" 

Also, was ich tun möchte, ist erstellen ein Zusätzliche Spalte im Ergebnis, die die Anzahl einer anderen Abfrage anzeigt. Der springende Punkt ist, dass ich die Ergebnisse nach der letzten Spalte sortieren könnte

Kann mir jemand helfen, es herauszufinden?

Antwort

1

Sie können JOIN gegen eine Unterabfrage, solange es einen Alias ​​erhält.

SELECT 
    users_table.*, 
    usercount.num 
FROM 
    users_table 
    LEFT JOIN (
    /* Added the value column and a GROUP BY to the subquery to return usernames & counts. */ 
    SELECT 
     COUNT(*) AS num, 
     value 
    FROM #__community_fields_values 
    WHERE field_id=16 
    GROUP BY value 
) usercount ON users_table.username = usercount.value