2016-04-07 24 views
-2

私は2つのテーブル情報を取得するための結合を行っていますが、私がする必要があるのは一意ですtt_codeです。DISTINCT - mysqlクエリは同じフィールドを複数回返します

マイSQL

SELECT cd.`tt_code`, ri.`complain_code`, ri.`repair_time`  
FROM `complain_details`cd 
JOIN `repair_info` ri ON `cd`.`complain_code` =`ri`.`complain_code` 
WHERE `cd`.`stat` = 'n' AND `ri`.`stat` = 'n' 
AND (`cd`.`ass_to_per` = 'murad.hasan' OR `ri`.`ass_to_per` = 'murad.hasan') 

私の現在の出力

enter image description here

欲望の出力は、SQLを使用して、独自のtt_code行です。私はDISTINCTについて知っていますが、私はそれを達成することができません。

+1

DISTINCTは、選択したすべての列にわたって機能します。したがって、それらはすべて一意の行です。どの行をtt_code = 161559のために選択すべきか、私たちが手助けする前に答えなければならないことはありますか? – Niagaradad

+0

私は私の答えを得ました、私はGROUP BY 'complain_details.tt_code'を使って、その仕事をしました。 –

+0

GROUP BY xはyとzに対して任意の値を返します。これはあなたが望むものであるとは思われません – Strawberry

答えて

1

GROUP BYを使用できます。

SELECT cd.`tt_code`, ri.`complain_code`, ri.`repair_time`  
FROM `complain_details`cd 
JOIN `repair_info` ri ON `cd`.`complain_code` =`ri`.`complain_code` 
WHERE `cd`.`stat` = 'n' AND `ri`.`stat` = 'n' 
AND (`cd`.`ass_to_per` = 'murad.hasan' OR `ri`.`ass_to_per` = 'murad.hasan') 
GROUP BY cd.`tt_code`; 
+0

ありがとうございます、しかし私はすでにこれを行いました、私は私の質問にコメントがあります。 –

+0

@FrayneKonok Oh、Good For You。私はあなたのコメントを見ませんでした。 (Y) – TheKojuEffect

+0

行に集計関数(COUNT、AVGなど)を使用していないため、GROUP BYの使用は正しくありません。各グループに対して任意の行を返します。 – Niagaradad

関連する問題