Mysql中用了left join查询时候数据变多,在线等

SELECTpassenger_name,order_typeFROMtb_sell_tbfinanceLEFTJOIN(#计算成人人数SELECTtb_sell_tbf... SELECT passenger_name, order_type FROM tb_sell_tbfinance LEFT JOIN (#计算成人人数 SELECT tb_sell_tbfinance.order_no AS order_no0, tb_sell_tbfinance.passenger_type AS passenger_type0, COUNT(*) AS passenger_count FROM tb_sell_tbfinance GROUP BY tb_sell_tbfinance.passenger_type, tb_sell_tbfinance.order_no ) AS order_detail ON (tb_sell_tbfinance.order_no = order_detail.order_no0);比下面的多了5条重复数据,看不懂了 SELECT passenger_name, order_type FROM tb_sell_tbfinance; 展开
 我来答
百度网友024827e
推荐于2018-02-28 · TA获得超过1657个赞
知道大有可为答主
回答量:1117
采纳率:93%
帮助的人:361万
展开全部
(#计算成人人数
SELECT tb_sell_tbfinance.order_no AS order_no0,
tb_sell_tbfinance.passenger_type AS passenger_type0,
COUNT(*) AS passenger_count
FROM tb_sell_tbfinance
GROUP BY tb_sell_tbfinance.passenger_type, tb_sell_tbfinance.order_no) AS order_detail 中要保证一个order_no0只能有至多一笔数据,若有超过一笔的话left outer join 会导致数据比tb_sell_tbfinance中数据多
悠游_夜
2019-03-01
知道答主
回答量:6
采纳率:0%
帮助的人:5087
展开全部
A left join B on A.x = B.y 重复,是因为 在B表中 A 和 B join的条件 不是唯一的,有重复,重复几条,就会多几条
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
醜徳拖網速
2016-06-02 · TA获得超过449个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:151万
展开全部
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
追问
SELECT 
passenger_name,
order_type
FROM
tb_sell_tbfinance
这个左表里只有37行数据
追答
你检查一下你左表与右表关联的条件,应该就是这些细节问题导致的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天亮中
2016-06-02 · TA获得超过6755个赞
知道小有建树答主
回答量:1404
采纳率:66%
帮助的人:687万
展开全部
你的语句造成order_detail有42条数据所以就这样了。
追问

这个是left join,应该数据条数跟左表一致吧

而且运行order_detail中的语句,只有22条

追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式