2016-03-24 2 views
-6
table 

Name tap 
aa  1 
aa  1 
aa  2 
bb  2 
aa  3 
cc  1 
bb  2 
bb  3 
cc  2 

Результаты ?????SQL Access «Count»?

name Count(1) Count(2) Count(3) 
aa  2   1   1 
bb  0   2   1 
cc  1   1   0 

??????

+0

Добро пожаловать в StackOverflow! Вы показываете нам, что похоже на ваши данные и то, что вы хотите получить, но вы не задали вопрос. Вы написали запрос? У вас проблемы с получением этого конкретного результата? Кроме того, прочитайте [ask] несколько полезных советов о том, как улучшить свой вопрос. –

ответ

0

Вы не можете использовать Count как это будет делать только что - подсчитать количество записей для каждого Имени игнорирует значение крана.

Но вы проверяете значения tap и суммируете эти совпадения. Однако в то время как SQL Server возвращает 1 для соответствия, Доступ возвращает -1, таким образом - для универсального решения - вы можете применить Abs, чтобы всегда иметь положительную сумму.

После этого вы получите запрос, как это:

Select 
    [Name], 
    Abs(Sum(tap=1)) As Count1, 
    Abs(Sum(tap=2)) As Count2, 
    Abs(Sum(tap=3)) As Count3 
From 
    YourTable 
Group By 
    [Name] 

выход будет:

Name Count1 Count2 Count3 
aa   2  1  1 
bb   0  2  1 
cc   1  1  0 
+0

Интересно. Даунвит для правильного ответа. Счастливой Пасхи! – Gustav

+0

Я предполагаю, что ваш ответ переживает спор. [Можно ли ответить вниз на плохие вопросы?] (Http://meta.stackoverflow.com/questions/255459/is-it-okay-to-downvote-answers-to -бад-вопросы). – Andre

+0

Я проигнорировал этот ответ по двум причинам: первое из них заключается в том, что это ответ только на код, а во-вторых, что аскер буквально * не задал вопрос *. – Sculper

Смежные вопросы