Bir katılmak sorguya başka bir parametre ekleme

0 Cevap php

Ben bazı MySQL tabloları kullanıyorum. Bunların yapıları aşağıda listelenmiştir.

"Login":

loginid username password email actcode disabled activated created points website location age gender

Her kullanıcı bir LoginID var

"Sunulmak":

submissionid loginid title slug url displayurl datesubmitted

Yukarıdaki teslim tabloda, "LoginID" teslim sunulan kullanıcı LoginID olduğunu.

"Comment":

commentid loginid submissionid comment datecommented

Yukarıdaki açıklama tabloda, "LoginID" Yorum Yaptı kullanıcı LoginID olduğunu. "Submissionid" yorumu yapıldı hangi teslimiyettir.

Aşağıdaki sorgu (LoginID varlığı olmuştur gün) tarafından ilk 25 loginids alıyor + (LoginID toplam gönderimler) * 10 + (LoginID tarafından yorum).

Ben bir faktör daha eklemek istiyorum: (submissionids yapılan toplam yorum LoginID sunmuştur) * 10.

Bu, aşağıdaki gerektirir:

  1. Belirli bir LoginID için masa "teslim" tüm submissionids Başlarken
  2. Bu submissionids var "comment" tablosundaki girişlerin toplam sayısını toplarsak

Bunu nasıl yapabilirim?

Teşekkür peşin,

John

$sqlStr2 = "SELECT 
    l.loginid, 
    l.username, 
    l.created,
    DATEDIFF(NOW(), l.created) + COALESCE(s.total, 0) * 10 + COALESCE(c.total, 0) AS totalScore2
FROM login l    
LEFT JOIN (
    SELECT loginid, COUNT(1) AS total 
    FROM submission 
    GROUP BY loginid
) s ON l.loginid = s.loginid
LEFT JOIN (
    SELECT loginid, COUNT(1) AS total 
    FROM comment 
    GROUP BY loginid
) c ON l.loginid = c.loginid
GROUP BY l.loginid
ORDER BY totalScore2 DESC 
LIMIT 25";

0 Cevap