我得到了这个查询:
$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'
我在join on和where都试过了。
首先我得到了所有的东西,除了额外的地方。其次,我只得到有连接的行。
谁能帮助我-我很惊讶,我甚至做了这么远看着我的查询…请帮助
应该可以:
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
我想你忘记了()在datotfor条件