私はSQLの専門家ではありません。私は以下のクエリを持っています。私がしたいのは、Statusを個々の列として移動し、別個のactionidを数えることです。ピボットケース文を列ヘッダーに挿入
問合せ:
SELECT
CONVERT (Date,[ActionTime],103) AS DATE,
COUNT(DISTINCT ActionID) AS Actions,
VehicleID AS VehicleID,
DriverID AS DriverID,
CASE
WHEN ActionTypeID = 7 THEN 'Not Suitable'
WHEN ActionTypeID = 8 THEN 'Job Acknowledged'
WHEN ActionTypeID = 9 THEN 'Job Accepted'
WHEN ActionTypeID = 10 THEN 'Job Rejected'
WHEN ActionTypeID = 12 THEN 'Job Recall'
WHEN ActionTypeID = 66 THEN 'Child Fleet Logon'
WHEN ActionTypeID = 67 THEN 'Child Fleet Logoff'
ELSE '' END AS Status
FROM [TaxiHistory].[dbo].[Actions]
WHERE actiontime between '2016-02-01 00:00:00' AND '2016-02-02 23:59:59'
AND ActiontypeID IN (7,8,9,10,12,66,67)
GROUP BY CONVERT (Date,[ActionTime],103),
CASE
WHEN ActionTypeID = 7 THEN 'Not Suitable'
WHEN ActionTypeID = 8 THEN 'Job Acknowledged'
WHEN ActionTypeID = 9 THEN 'Job Accepted'
WHEN ActionTypeID = 10 THEN 'Job Rejected'
WHEN ActionTypeID = 12 THEN 'Job Recall'
WHEN ActionTypeID = 66 THEN 'Child Fleet Logon'
WHEN ActionTypeID = 67 THEN 'Child Fleet Logoff'
ELSE '' END,
VehicleID,
DriverID
サンプルデータと予想される結果を投稿してください。 –
したがって、特定のActionTypeIDに関連付けられたすべての異なるActionIDの数をカウントしますか?特定のドライバーによって操作されている車両を取得しています。特定のドライバーに対して実行されたアクション数がカウントされています。だからあなたはただActionTypeIDを必要とします。合計の個別アクションは完了しましたか? – Dresden
私はこのFelixをやろうとしましたが、ファイルをアップロードする方法を見つけるのに苦労しました。イメージがあれば十分です。元の投稿のリンクを使って動作するはずです。 –