私はOracleには新しく、値に基づいて複数のカウントを含むことを望みます。たとえば、次のように明らかに存在し、カウント(f.id)を有するグループBYと結果ごとに複数の数値を組み合わせる
SELECT p.name, count(f.id) as eaten_apples, count(f.id) as eaten_oranges
FROM food f, people p
WHERE f.pid=p.pid
AND f.id = 'apple' OR f.id = 'orange'
GROUP BY p.name;
は各2回は同じ結果が得られますが、欲望が食べられる食品の種類ごとに1つのカウントを持つことです。りんごとオレンジ。結果は次のようになります。
[0] =>
name : john
eaten_apples: 3
eaten_oranges: 1
[1] =>
name : sam
eaten_apples: 0
eaten_oranges: 9
...
つまり、結果ごとに複数のカウントがあります。この場合、人が食べた食べ物の数。
私のクエリでは、名前ごとに2つの結果が返されます。つまり、はとなりますが、SQL結果から名前ごとに結果が1つ必要です。
おかげで、私は今、二列にそれらを得ることができますが、アプリケーションは非常に良い仕事です1つの場合は完了です。私は、それがあまりにも複雑すぎると思っています。 – LookingToLearn
@lookingtolearn、私は私の答えに働くソリューションを追加しましたが、アプリケーションがもっとうまくいくかどうかはわかりません。消費するアプリケーションが期待する結果を得るには、良いdbモデルをピボットまたはトランスポーズする必要はありません。 – Spade
ありがとう! ORA-00904: "id":無効な識別子です。しかし、 "select name、id"を "select *"に変更すると機能しました。私は理由を知らないが、広範な試行錯誤を経て彼らを得ることになった。もう一度、ありがとう! – LookingToLearn