我有一个表,并具有下列数据获得最大的ID,如果有父ID,否则得到的所有结果
CREATE TABLE IF NOT EXISTS `tbl_ticket` (
`id` int(9) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) NOT NULL,
`ticket_title` varchar(250) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;
--
-- Dumping data for table `tbl_ticket`
--
INSERT INTO `tbl_ticket` (`id`, `parent_id`, `ticket_title`) VALUES
(1, 0, 'tyty'),
(2, 0, 'testing'),
(3, 0, 'test from ticket'),
(4, 0, 'test ticket'),
(5, 0, 'test ticket'),
(6, 0, 'test ticket'),
(7, 0, 'test ticket'),
(8, 5, 'test ticket'),
(9, 0, '1 Ticket'),
(10, 0, '2Ticket'),
(11, 2, 'ticket2'),
(12, 2, 'ticket1'),
(13, 0, 'title 1234'),
(14, 0, 'titles 1234'),
(15, 14, 'sample 1234');
我需要返回所有行其中id是不存在于父表的ID。 另外,如果id存在于parent_id列中,我想要获得具有与parent_id匹配的最高id的行。 即我需要返回行id 1, 3,4,6,7,8,9,10, 12,13, 15
。
我想这SQL
SELECT `id` , `parent_id`
FROM `tbl_ticket`
WHERE id NOT
IN (
SELECT parent_id
FROM tbl_ticket
)
但它返回值11
也,而是应该返回12
这与parent_id =2
为什么你的结果中有5个? 5在8 –
的父字段中,这是一个错误,我删除了5.感谢您的通知。 – user7282