嗨,这是我的问题:
SELECT tbl_order_detail.order_id, tbl_order_lead_send_detail.customer_id, tbl_order_detail.order_title, tbl_order_detail.dealer_id , tbl_order_lead_send_detail.send_date_time
FROM tbl_order_detail
INNER JOIN tbl_order_lead_send_detail
ON tbl_order_detail.order_id=tbl_order_lead_send_detail.order_id
where tbl_order_detail.order_status='Active'
ORDER BY tbl_order_lead_send_detail.send_date_time DESC
我收到了这个输出,
我想只获得一个数据行,意味着订单ID 的不同值。如何更改我的SQL查询以获得我想要的结果?
答案 0 :(得分:1)
SELECT distinct(tbl_order_detail.order_id), tbl_order_lead_send_detail.customer_id, tbl_order_detail.order_title, tbl_order_detail.dealer_id , tbl_order_lead_send_detail.send_date_time
FROM tbl_order_detail
INNER JOIN tbl_order_lead_send_detail
ON tbl_order_detail.order_id=tbl_order_lead_send_detail.order_id
where tbl_order_detail.order_status='Active'
ORDER BY tbl_order_lead_send_detail.send_date_time DESC
答案 1 :(得分:0)
SELECT DISTINCT tbl_order_detail.order_id,...
答案 2 :(得分:0)
两种可能性:
1)选择 distinct ..
2)选择... 分组按tbl_order_detail.order_id,tbl_order_lead_send_detail.customer_id,tbl_order_detail.order_title,tbl_order_detail.dealer_id,tbl_order_lead_send_detail.send_date_time
答案 3 :(得分:0)
请注意,即使您在查询中使用关键字distinct
,如果至少其中一列返回不同的数据,它仍会为同一订单ID返回多行。
您的结果图片显示4列,而您的查询要求5列;因此,不可能100%确定问题所在。
话虽如此,请使用select distinct
,看看它是否能解决您的问题。如果没有,则可能必须使用查询中的不同数据删除列。
快乐的编码!
答案 4 :(得分:0)
从您的部分屏幕截图中可以看出,每行的客户ID 都不同。您需要显示所有输出以获得合理的答案。
我很确定 SELECT DISTINCT 没有被破坏,所以你必须选择非唯一的行。