LoginID, StaffName, qno, trackno, tmstamp, Service
1, James, 1001, 1, 01-01-2011, No1 (transfer to No2)
2, John, 1002, 2, 01-01-2011, No1
2, John, 1003, 3, 01-01-2011, No1
1, James, 1001, 1, 01-01-2011, No2 (transfered from No1)
2, James, 1003, 3, 01-01-2011, No1 (recall the queue no)
Matter
content, trackno, tmstamp
001, 1, 01-01-2011
002, 1, 01-01-2011
001, 2, 01-01-2011
002, 2, 01-01-2011
003, 2, 01-01-2011
001, 3, 01-01-2011
001, 1, 01-01-2011
001, 3, 01-01-2011
002, 3, 01-01-2011
Результат
StaffName, tmstamp, noOfQno, noOfContent
James, 01-01-2011, 3, 5
John, 01-01-2011, 2, 4
Я уже задавал этот вопрос. (Похоже на этот вопрос.)
how to link the following 2 tables to get the result which is shown below in SQL Server?`
И правильный ответ уже есть.
SELECT StaffName, tmstamp, noOfQno, noOfContent
FROM (
SELECT StaffName, tmstamp, trackno, COUNT(1) noOfQno
FROM Visit
GROUP BY StaffName, tmstamp, trackno
) a LEFT JOIN
(
SELECT trackno, COUNT(1) noOfContent
FROM Matter
GROUP BY trackno
) b
ON b.trackno = a.trackno
Но в соответствии с этим ответом, ответ немного неправильный.
В результате я буду получать в соответствии с этим ответ ..
Result
StaffName, tmstamp, noOfQno, noOfContent
James, 01-01-2011, 3, 6
John, 01-01-2011, 2, 6
Это потому, что
Для line 1
из Visit
таблицы, noOfContenct
должен be2 и line 4
из Visit
, noOfContent
должен быть 1. Таким образом, в целом 3.
Но в соответствии с этим ответом: для line 1
, noOfContent
- 3, для line 4
также 3. Тогда общее значение становится 6.
Так что я спрашиваю, как обновить это утверждение.
P.S. утверждение не даст итоговое значение, как результат. Вместо этого он будет давать значения строки за строкой.
Что является основным ключом 'Matter'? Соответственно, каким должен быть внешний ключ «Посещения», который ссылается на «Материя»? Я думаю, что я мог бы разместить решение, которое просто соответствовало бы правильному ответу, но, похоже, в дизайне есть серьезный недостаток. Ваша строка 7 в «Материи» ничем не отличается от строки 1 там. Как их отличить? –
Да. в таблицах нет ключа. Да, в принципе, это одно и то же. Вот почему я понятия не имею, как дифференцироваться. – william