2013-10-04 2 views
0

У меня есть одна таблица с именем Customers с столбцом CustID и тремя другими столбцами, называемыми Prod1, Prod2, Prod3. Столбцы Prod имеют значение для каждого клиента или «0» или «1», обозначая, если клиент имеет то конкретный продукт или нет (1 = они есть, 0 = они не делают), а именно:MySQL Учитывать наличие значения в нескольких столбцах

 CustID Prod1 Prod2 Prod3 
    ------------------------------- 
     001  1  1  0 
     002  0  0  1 
     003  1  1  1 
     004  1  0  1 

Я хочу, чтобы получить в общей сложности, сколько покупателей каждый продукт есть мой вывод должен быть:

 Prod Count 
    -------------- 
     Prod1 3 
     Prod2 2  
     Prod3 3  

Спасибо!

+1

Вы пробовали что-нибудь? – BlitZ

+1

Именно поэтому мы должны учиться нормализации, прежде чем вводить его в производство. – inquisitive

+0

любознательный определенно прав. Если вы можете нормализовать базу данных, это сэкономит вам много головной боли по дороге. Что делать, если ваша база продуктов растет экспоненциально? Вы хотите, чтобы потенциально 100 полей полей указывали каждый продукт. Клиент - это объект с определенными характеристиками, а Продукт - это объект с другим набором характеристик. Они должны быть двумя разными таблицами. – Linger

ответ

0
SELECT "Prod1" AS Prod, Sum(Prod1) As [Count] FROM Customers 
UNION 
SELECT "Prod2" AS Prod, Sum(Prod2) As [Count] FROM Customers 
UNION 
SELECT "Prod3" AS Prod, Sum(Prod3) As [Count] FROM Customers 
+0

** @ user2847583 **, вы нашли ответ на свой вопрос? Или вы решили это самостоятельно? – Linger

+0

** @ user2847583 **, если мой ответ сработал для вас, можете ли вы пометить его как принятый ответ? – Linger

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