2013-05-14 27 views
0

我試圖從時間量中獲取我的表中的已用小時數排名。有用。但現在我想限制它到一個用戶組。所以我做了這個:嘗試使用從子查詢中的連接表執行語句時出錯

SELECT 
    s.shortname AS servername, s.displaycolor AS displaycolor, 
    MIN(
     if(`yearweek`=yearweek(CURRENT_DATE(),3) AND (s.admin_group=u.usergroupid OR find_in_set(s.admin_group, u.membergroupids)>0), 
      (SELECT COUNT(*) 
      FROM godziny_tygodnie AS x 
       LEFT JOIN vbulletin.vb_user AS xu ON xu.userid=x.dbid 
      WHERE gw.sid=x.sid 
      AND x.`yearweek`=gw.`yearweek` AND x.`time` > gw.`time`)+1 
      AND (xu.usergroupid=s.admin_group OR find_in_set(s.admin_group, xu.membergroupids)>0) 
     , NULL) 
    ) AS rweek0, 
    -- there are more columns simillar to previous, but with different time interval 
FROM godziny_tygodnie gw 
    INNER JOIN godziny_miesiace gm ON gw.dbid=gm.dbid AND gw.sid=gm.sid 
    INNER JOIN godziny_lacznie gt ON gw.dbid=gt.dbid AND gw.sid=gt.sid 
    LEFT JOIN serwery AS s ON s.id=gw.sid 
    LEFT JOIN vbulletin.vb_user u ON u.userid=gw.dbid 
WHERE gw.dbid=:uid 
GROUP BY gw.dbid, gw.sid 

,這讓我錯誤Column not found: 1054 Unknown column 'xu.usergroupid' in 'field list'

爲什麼不能執行? vbulletin.vb_user.usergroupid存在...

+0

但pgc_vbulletin.vb_user是什麼別名爲徐。該表是否有usergroupid列? – Melanie

+0

我相信你在錯誤的地方有括號。第一個AND行以+1結束,這使得下一個AND不是SELECT的一部分。 –

+0

pgc_vbulletin與vbulletin是一樣的,我糾正了:)嗯,括號是我想的答案:) – GwynBleidD

回答

0

問題帶有錯誤的括號。從9行末尾的)+1應該在10行的末尾。現在一切正常:)

相關問題