2015-10-14 43 views
0

我得到這個查詢聯接:左有多個where子句中的第(左表)

$query = mysql_query("SELECT arbejdsopgave.*, 
        DATE_FORMAT(dato, '%d-%m-%Y') AS tid, 
        tilfoejelser.*, 
        DATE_FORMAT(datotf, '%d-%m-%Y') AS tid2 
        FROM arbejdsopgave LEFT JOIN tilfoejelser 
        ON arbejdsopgave.sub_id=tilfoejelser.sub_id2 
        WHERE arbejdsopgave.cat_id = '$id' 
         AND datotf IS NULL 
         OR datotf = (select max(datotf) 
         FROM tilfoejelser 
         WHERE arbejdsopgave.sub_id=tilfoejelser.sub_id2) 
         ORDER BY arbejdsopgave.sub_id") 
         or die(mysql_error()); 

我需要只從表中顯示的行「arbejdsopgave」裏arbejdsopgave.cat_id = '$id'又哪裏arbejdsopgave.status = 'closed'

我嘗試了在加入和在哪裏。

首先,儘管額外的地方我得到了一切。其次,我只獲得有連接的行。

誰能幫我 - 我很驚訝,我甚至做了這麼遠望着我查詢...請幫助

回答

1

這應該工作:

SELECT arbejdsopgave.*, DATE_FORMAT(dato, '%d-%m-%Y') AS tid, tilfoejelser.*, DATE_FORMAT(datotf, '%d-%m-%Y') AS tid2 
FROM arbejdsopgave 
LEFT JOIN tilfoejelser ON arbejdsopgave.sub_id=tilfoejelser.sub_id2 
WHERE arbejdsopgave.cat_id = '$id' 
AND arbejdsopgave.status = 'closed' 
AND (datotf IS NULL 
OR datotf = (
    select max(datotf) FROM tilfoejelser 
    WHERE arbejdsopgave.sub_id=tilfoejelser.sub_id2)) 
ORDER BY arbejdsopgave.sub_id 

我想你忘記了()大約datotf或條件

+0

你救了我的一天1 –

+0

所以給我點,它也將是我的一天;) – Daimos