私はスキャンポイントでスキャンされているアイテムを記録するようなOracleデータベーステーブルを持っています。1つのSQLコマンドで1つのデータベーステーブルから複数のカウントを選択
ItemsScan
は
をItemScanId ItemScanPoint
itemTypeに
私は一緒にItemScanPointを返すようにしたいScanTime
特定のItemTypeがそのItemScanPointでスキャンされた回数。線に沿って
何か..私は神託でこれを行うにはどうすればよい
SELECT ItemScanPoint,
(SELECT COUNT(*) WHERE ItemType = 1),
(SELECT COUNT(*) WHERE ItemType = 2)
FROM ItemsScan
?
最も効率的な方法は何ですか?
@endorphinこれはおそらくCASEが標準SQLであるが、おそらくOracle DECODE()関数、例えば' SUM (DECODE(ItemType、1,1,0))、SUM(DECODE(ItemType、2,1,0)) 'を含む。ポータブルなソリューションが必要ない場合は、キーストロークを節約できます。 –