Я ни в коем случае не являюсь экспертом в SQL, и мне трудно получать нужные мне данные из запроса. Я работаю с одной таблицей Journal_Entry, которая имеет несколько столбцов. Один столбец - это Status_ID, который является внешним ключом таблицы состояния с тремя значениями: «Зеленый», «Желтый» и «Красный». Кроме того, запись журнала регистрируется для определенного пользователя (идентификатор_пользователя).
Я пытаюсь получить количество записей журнала, зарегистрированных для каждого статуса, в процентах от общего количества записей журнала, зарегистрированных конкретным пользователем. До сих пор у меня есть следующее для статуса 1, который зеленый (и я знаю, что это не работает):
SELECT CAST((SELECT COUNT(Journal_Entry_ID)
FROM Journal_Entry
WHERE Status_ID = 1 AND User_ID = 3 /
SELECT COUNT(Journal_Entry_ID)
FROM Journal_Entry AND User_ID = 3)) AS FLOAT * 100
Мне нужно продолжить запрос для двух других идентификаторов состояния, 2 и 3, и в идеале хотелось бы завершить выбор трех столбцов в процентах, по одному для каждого состояния: «Green_Percent», «Yellow_Percent» и « Red_Percent».
Это, наверное, самый разрозненный вопрос, который я когда-либо задавал, поэтому я прошу прощения за отсутствие ясности. Я буду рад уточнить при необходимости. Также я использую SQL Server 2005.
Большое спасибо.