Я пытаюсь вывести некоторые данные в MSSQL из трех разных таблиц (статус, состояние & случаев) в 2 разных базах данных (глобальный & частный).Захват значения из нескольких таблиц, использование count и group по
global.status // contains labels for global status ID's
fields (id, text)
private.status // contains labels for private status ID's
fields (id, text)
private.cases // contain case information, such as status
fields (status, count(status) AS amount)
Мне нужно сравнить статус в таблице случаев со статусом ID в двух таблицах и выходов следующее:
statusID | text | amount
----------|-------------|--------
9993 | Open | 24
9991 | Closed | 3
9992 | Pending | 12
Резон за то, что глобальные и частные является то, что частная позволяет обычай частный статус, когда глобальный доступ доступен по всей системе.
Моя неудачная попытка с этим был следующий SQL
SELECT c.status,
COUNT(c.status) as amount,
ss.text,
gs.text
FROM [DB11111111].dbo].[cases] AS c, [DB11111111].[dbo].[status] AS ss, [global].[dbo].[status] AS gs
WHERE (c.status = ss.id) OR (c.status = gs.id)
GROUP BY c.status, ss.text, gs.text
ORDER BY amount DESC
Есть ли у вас какие-либо идеи, что делать ??
Может же ID можно найти в частных и глобальных таблиц состояния? –
Да, поле статуса в случаях содержит число, равное id либо в global.status, либо в private.status –