我現(xiàn)在有兩個(gè)表parent和child,根據(jù)parent.id等于child.parentId一對(duì)多關(guān)聯(lián)。child表有一字段status,取值 0或1或2?,F(xiàn)在我想要一起查詢出每條parent的信息以及該條對(duì)應(yīng)的child狀態(tài)status分別為0、1、2的記錄個(gè)數(shù)。這個(gè)個(gè)數(shù)我不知道怎么取,比如下面是取parent信息和狀態(tài)為0的child個(gè)數(shù),但只能取到一種情況,不能同時(shí)取到三種狀態(tài)的個(gè)數(shù)。SELECT p. * , count ( * ) FROM parent p,child cWHERE c.parentid =p.idAND c.status= 0GROUP BY c.parentid;要同時(shí)取到三種狀態(tài)就要繼續(xù)加聯(lián)表SELECT * FROM (SELECT p. * , count ( * ) c1 ,p.ID aidFROM parent p,child cWHERE c.parentid =p.idAND c.STATUS = 0GROUP BY c.parentid) a ,(SELECT count ( * ) c2 ,p.ID bidFROM parent p,child cWHERE c.parentid =p.idAND c.STATUS = 1GROUP BY c.parentid) b ,(SELECT count ( * ) c3 ,p.ID cidFROM parent p,child cWHERE c.parentid =p.idAND c.STATUS = 2GROUP BY c.parentid) cWHERE a.aid = b.bid AND c.cid = a.aid這樣sql會(huì)很長(zhǎng)且低效。并且現(xiàn)在只有三個(gè)狀態(tài),要是多了更長(zhǎng),后面會(huì)寫在mybatis的xml里很難看。有沒(méi)有更好的寫法?
如何根據(jù)這個(gè)需求編寫mysql,保證簡(jiǎn)潔和效率
至尊寶的傳說(shuō)
2018-10-29 09:09:07