Есть переменная таблицы (здесь я напишу ее как обычную таблицу)
CREATE TABLE TEST (memberid int, producttype varchar(7))
В этой таблице сотни тысяч строк, но для этого примера я добавил намного меньше
Insert into test values(1,'book')
Insert into test values(1,'clothes')
Insert into test values(2,'book')
Insert into test values(3,'book')
Insert into test values(4,'clothes')
Insert into test values(5,'book')
Insert into test values(5,'clothes')
Insert into test values(6,'book')
Insert into test values(7,'book')
Мне нужно получить:
- членов, которые имеют только «книгу»
- членов, которые имеют только «одежду»
- memberids, у которых есть 'book' и 'clothes'
например,
Member Book Clothes Both
1 0 0 1
2 1 0 0
3 1 0 0
4 0 1 0
5 0 0 1
6 1 0 0
7 1 0 0
Мне удалось заставить его работать с подзапросами, но из-за размера таблица может занять более 2 минут, чтобы бежать.
Буду признателен, если кто-нибудь знает лучший способ добиться этого?