Sql 左连接,ISNULL,IFNULL不起作用
假设tblflash中有10行,tblcount中有10行和5行。 显示的记录仅显示在5行中。我想显示所有fname,不重复,如果null设置为0 有什么问题吗?您的WHERE-tblcount.SID='.$\u会话['SID'.'正在使查询充当内部联接-您需要添加,或者tblcount.SID为NULL其他5行的tblcount中没有SID数据您的WHERE条件应用于联接的结果,而不是特别应用于tblcount行。当两个表之间不匹配时,join在所有tblcount列中返回null。因此,NULL='whatever'的计算结果不为true,并且不返回该行 add或tblcount.SID对于WHERE as为NULL,或者将WHERE条件作为ON子句的一部分,如下所示:Sql 左连接,ISNULL,IFNULL不起作用,sql,left-join,isnull,Sql,Left Join,Isnull,假设tblflash中有10行,tblcount中有10行和5行。 显示的记录仅显示在5行中。我想显示所有fname,不重复,如果null设置为0 有什么问题吗?您的WHERE-tblcount.SID='.$\u会话['SID'.'正在使查询充当内部联接-您需要添加,或者tblcount.SID为NULL其他5行的tblcount中没有SID数据您的WHERE条件应用于联接的结果,而不是特别应用于tblcount行。当两个表之间不匹配时,join在所有tblcount列中返回null。因此,N
CREATE TABLE IF NOT EXISTS `tblflash` (
`FID` int(11) NOT NULL AUTO_INCREMENT,
`fname` text COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`FID`)
)
CREATE TABLE IF NOT EXISTS `tblcount` (
`ID` int(50) NOT NULL AUTO_INCREMENT,
`SID` int(50) NOT NULL,
`FID` int(11) NOT NULL,
`sDateTime` datetime NOT NULL,
`elaspedTime` int(11) NOT NULL,
PRIMARY KEY (`ID`)
)
$sqldate1 =
"SELECT distinct tblflash.FID, tblflash.fname, IFNULL(sum(tblcount.elaspedTime),0)
FROM tblflash
left outer JOIN tblcount
ON tblflash.FID = tblcount.FID
WHERE tblcount.SID='".$_SESSION['SID']."'
ORDER BY tblflash.FID";
$sqldate1 =
"SELECT distinct tblflash.FID, tblflash.fname, IFNULL(sum(tblcount.elaspedTime),0)
FROM tblflash
left outer JOIN tblcount
ON tblflash.FID = tblcount.FID
AND tblcount.SID='".$_SESSION['SID']."'
ORDER BY tblflash.FID";