查出初始结果的sql
但是这个结果并不是我想要的,我想要的一条,并且希望这个时间能组合起来
于是我改动了一下sql
SELECT DISTINCT sd1.ship_address_name,a1.ship_address_id, GROUP_CONCAT(a1.ship_date),b1.lot_number,a1.company_id FROM outstock_so_headers a1 JOIN
(SELECT j1.lot_number, j1.so_header_id,j1.company_id FROM outstock_batch_details j1 GROUP BY j1.lot_number,j1.so_header_id ,j1.company_id ) b1
on b1.so_header_id=a1.so_header_id and a1.company_id=b1.company_id
JOIN base_shipping_address sd1 on a1.ship_address_id=sd1.ship_address_id
WHERE b1.lot_number in ('19082411080008','19082614080007','19082709080003','19091015090037','19101418100048','19101708100001','19101717100045')
GROUP BY sd1.ship_address_name,a1.ship_address_id,b1.lot_number,a1.company_id
先把时间组合起来 使用到GROUP_CONCAT()函数,然后分组以下这个结果,得到
虽然说是去重了但是结果并不理想,还不是我想要的,而且时间还有重复的,出现了第一遍的重复时间,
所以再改动一下sql ,在GROUP_CONCAT(a1.ship_date) 列中加入 DISTINCT 去重 变为 GROUP_CONCAT( DISTINCT a1.ship_date) 得到
时间部分精简了些,结果是开始需要的,