我对MySQL很新,也是我的第一个问题,如果有任何错误,请原谅我。Mysql加入 - 结果重复如何修复它
我6张桌子我想用这个6表采取报告。我的一个报告访问所有6个表并按照我们编写的查询打印数据。现在问题是我写了我的查询,但这会返回大量重复的数据。如何避免引导我请。
SELECT
@rownum := @rownum + 1 AS RowNumber,
a.vnumber,a.vname,
b.eid,b.name,b.mobile,
c.vid,c.emp_id,c.pick_place,c.start_time,c.drop_place,c.stop_time,
c.pickupkm,c.drops,c.type_of_trip,c.travelkm,c.tamt,c.dates,
d.vid,d.emp_id,d.expcal,d.exp1,d.exp2,d.exp3,
d.exp4,d.exp5,d.expamt,d.expdesc,d.dates,
e.emp_id,e.vid,e.opeing_km,e.opeing_cash,e.closing_km,
e.closing_cash,e.opeing_date,e.opeing_time,e.closing_date,
e.closing_time, f.vid,f.emp_id,
f.totkm,f.totamt,f.expenses,f.handover_amt,
f.balance_amt,f.handover_to,f.plstatus,f.entry_date
from
add_vehicle a
LEFT JOIN third_table c ON a.vnumber=c.vid
LEFT JOIN add_employees b ON b.eid=c.emp_id
LEFT JOIN fourth_table d ON a.vnumber=d.vid
LEFT JOIN shift e ON b.eid=e.emp_id
LEFT JOIN five_table f ON a.vnumber=f.vid,
(SELECT @rownum := 0) r
WHERE
c.type_of_trip IS NOT NULL AND
c.dates BETWEEN '2017-04-01' AND '2017-04-19' AND
d.dates BETWEEN '2017-04-01' AND '2017-04-19' AND
f.entry_date BETWEEN '2017-04-01' AND '2017-04-19' AND
c.vid='STAT01' AND f.vid='STAT01' AND c.emp_id='1' AND
f.emp_id='1' AND e.emp_id='1'
ORDER BY c.dates,f.entry_date DESC
抱歉SQL小提琴不工作。
这是我的表格和示例数据。
添加示例数据和预期输出 –
你可能有多个记录匹配,从另一个表中的一条记录中的一个表。请向我们提供样本数据,使用您当前的查询在样本数据上收到的实际结果以及预期结果。 – Shadow
好吧我尝试添加朋友 –