MYSQL,其中日期列返回重复项
我对MYSQL的查询有问题 当我在日期栏“accountclosed”上搜索时,它会返回非常奇怪的结果,我想弄清楚为什么MYSQL,其中日期列返回重复项,mysql,Mysql,我对MYSQL的查询有问题 当我在日期栏“accountclosed”上搜索时,它会返回非常奇怪的结果,我想弄清楚为什么 SELECT sdb2.ClientID, CONCAT(pdb.lastName, ',',' ', pdb.firstNames) AS Name,sdb2.AccNo, SUM(IF(buyOrSell = "B", numOfShares,-1*numOfShares)) AS holding, IF(cacc.accountclose>'0000-00-00
SELECT sdb2.ClientID, CONCAT(pdb.lastName, ',',' ', pdb.firstNames) AS Name,sdb2.AccNo,
SUM(IF(buyOrSell = "B", numOfShares,-1*numOfShares)) AS holding,
IF(cacc.accountclose>'0000-00-00', "Closed", "Open") As AccountStatus
FROM sharesdb2 sdb2
JOIN
ClientsDB cdb on sdb2.clientID=cdb.clientID
JOIN
peopledb pdb on sdb2.ClientID=pdb.clientID
JOIN clientaccounts cacc ON sdb2.clientID=cacc.clientID
WHERE cdb.personortrust = 'p'
AND sdb2.transType != 'X'
GROUP BY sdb2.ClientID, sdb2.AccNo
现在,我希望它会返回每个帐户,以及根据“accountclose”字段中的值,它是“Open”还是“Closed”。然而,我得到了下面的答案
ClientID AccNo holding AccountStatus accountclose
549 11506462 -4812.00 Closed 2019-10-29
549 11509530 -81924.00 Closed 2019-10-29
accountclose数据所显示的表格如下:
clientID AccNo accountOpen accountClose
549 11506462 2013-04-05 2019-10-29
549 11509530 2013-04-15 0000-00-00
我为这件事挠头已有一段时间了。有人有什么见解吗?提前感谢您代码
JOIN
ClientsDB cdb on sdb2.clientID=cdb.clientID
下一个加入也应该有
and a.AccNo= b.AccNo
您的实际预期输出是什么?预期输出将是accountclose值和accno的匹配。出于某种原因,我不知道,它会为sdb2上的clientID值的两个CSE返回一个accountclose值
JOIN clientaccounts cacc.clientID=cacc.clientID
似乎您忘记了通过AccNo
加入…Akina,这就解决了问题。愚蠢的疏忽。非常感谢。