Привет, ребята, у меня есть данные ниже образца, которые я хочу запросить.Подсчет, если данные существуют в строке
MemberID AGEQ1 AGEQ2 AGEQ2
-----------------------------------------------------------------
1217 2 null null
58458 3 2 null
58459 null null null
58457 null 5 null
299576 6 5 7
Что мне нужно сделать, это для поиска в таблице, и если AGEX COLUMN содержит какие-либо данные, то он подсчитывает количество раз, есть данные для этой строки в каждом столбце
Результаты Пример:
для MemberId 1217 счетчик будет 1
для MemberId 58458 счетчик будет 2
для MemberId 58459 отсчет будет 0 или нуль
для MemberID 58457 счетчик будет 1
для MemberID 299576 счетчик будет 3
Вот как это должно выглядеть в SQL, если я запросить всю таблицу
1 Дети - 2
2 детей - 1
3 детей - 1
0 Дети - 1
До сих пор я делал это, используя следующий запрос, который не очень эффективен и дает неправильные подсчеты, поскольку существует несколько комбинаций, которые люди могут ответить на вопрос ВОЗРАСТ. Кроме того, я должен написать несколько запросов и изменить это значение NULL не равно нулю в зависимости от того, сколько детей я ищу, чтобы посчитать человека имеет
select COUNT (*) as '1 Children' from Member
where AGEQ1 is not null
and AGEQ2 is null
and AGEQ3 is null
Этот запрос только дает мне ответ на 1, но я хочу иметь возможность рассчитывать на другие столбцы данных, а также
Надеются, что это красиво и ясно, и спасибо заранее
Сколько 'AGEx' столбцов у вас есть? Это исправлено? И как это может быть как mysql, так и sql-сервер? – unlimit
Извините, что изменили У меня есть 6, но я только показал 3 в качестве примера, но его тот же принцип, я не хочу делать несколько запросов для каждой комбинации. – InvokeIT