該計劃是從表工作左表連接到表項目。這之後,我想過濾用通配符work.workdate =「2013-12-%」的結果 - 結果應該是做本月結合項目MySQL左加入其他相似條件
表工作
CREATE TABLE IF NOT EXISTS `work` (
`idwork` int(11) NOT NULL AUTO_INCREMENT,
`iduser` int(11) NOT NULL,
`idproject` int(11) NOT NULL,
`workdate` varchar(45) NOT NULL,
`duration` varchar(45) NOT NULL,
`description` varchar(45) NOT NULL,
PRIMARY KEY (`idwork`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
工作
表項目
CREATE TABLE IF NOT EXISTS `project` (
`idproject` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`id` int(11) DEFAULT NULL,
PRIMARY KEY (`idproject`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
聲明
SELECT * FROM work LEFT JOIN project ON work.idproject=project.idproject AND work.workdate LIKE '2013-12-%';
- 輸出:每一行。是不是從2013年12月該行在項目部分 空值
- 預期輸出:行只從2013年12月
那麼,是我的問題嗎?我必須使用括號或類似的東西嗎?我搜索了Stackoverflow,但總是發現LIKE在JOIN中的問題,但那不是我想要的。 LIKE是附加條件。
啊,我看我的問題,謝謝。如果是這樣的話,問題解決了 – swaechter
,使用'INNER JOIN'。 –