在此查询中获取不同的值

时间:2012-05-11 11:03:52

标签: php mysql

嗨,这是我的问题:

  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

我收到了这个输出,

Urgent ?

我想只获得一个数据行,意味着订单ID 的不同值。如何更改我的SQL查询以获得我想要的结果?

5 个答案:

答案 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 没有被破坏,所以你必须选择非唯一的行。