-1

こんにちは、これは私の質問です:

  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の個別の値を意味する1つのデータ行のみを取得したい。希望する結果を得るためにSQLクエリを変更するにはどうすればよいですか?

4

5 に答える 5

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
于 2012-05-11T11:05:43.720 に答える
0

distinctクエリでキーワードを使用しても、少なくとも1つの列が異なるデータを返す場合は、同じ注文IDに対して複数の行が返されることに注意してください。
結果の画像には4つの列が表示されますが、クエリでは5つの列が要求されます。したがって、問題がどこにあるかを100%特定することは不可能です。
そうは言っても、を使用select distinctして、問題が解決するかどうかを確認してください。そうでない場合は、クエリから別のデータを含む列を削除する必要がある場合があります。
ハッピーコーディング!

于 2012-05-11T11:16:06.327 に答える
0

SELECT DISTINCT tbl_order_detail.order_id、..。

于 2012-05-11T11:06:42.643 に答える
0

2つの可能性:

1)個別に選択します。

2)... group by 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

于 2012-05-11T11:07:16.283 に答える
0

一部のスクリーンショットから、顧客IDは行ごとに異なるように見えます。賢明な答えを得るには、すべての出力を表示する必要があります。

SELECT DISTINCTが壊れていないことは間違いないので、一意でない行を選択する必要があります。

于 2012-05-11T11:21:43.373 に答える