1
私は4つの異なるテーブルからデータを取得しています。これは私がやった方法です:私が取得することで、mysqlで重複のないフィルタリング
id|counts|category_name
1 | 1 | service, drop
2 | 2 | drop
3 | 1 | service
:しかし
id|counts|category_name
1 | 5 | service, drop
2 | 4 | drop
3 | 5 | service
私はライン10と11を削除すると、私が手
select value_split.id,
count(invoice_request.id) as counts,
GROUP_CONCAT(`category`.`category_name`) as `category_name`
from value_split
left join invoice_request
on invoice_request.id = value_split.id
and MONTH(invoice_request.from_date) = '05'
and YEAR(invoice_request.from_date) = '2016'
and invoice_request.status = '1'
left join `category_value` on value_split.id = category_value.id
left join `category` on category_value.category_id = category.category_id
where MONTH(value_split.date) = '05'
and YEAR(value_split.date) = '2016'
group by value_split.id, value_split.date
limit 0, 2147483647
予想答えがあります正解。しかし、私がそれらを含めると、私は間違ったものを取得します。しかし、私はそれも表示したい。正しい出力を得るためにはどうすればよいですか?これには何が問題なのですか?
私はそれを使用してみましたが、私は、すべてのIDの2番目の列に1を得ました。 – SSS
何が必要ですか? 'DISTINCT'には正しい表現を使用してください。 – mnv
私は両方の場所、つまり2行目と3行目で使用しましたが、同じ結果が出ます。 – SSS