Hello,
I have this query:
SELECT
userlist.USERID,
(case when (sum( CASE WHEN track.OFFER_ID = 221 THEN 1 ELSE 0 END) > 1) then 1 else 0 end) offer_211,
FROM
userlist
INNER JOIN track ON userlist.USERID = track.USERID
group by
userid
This is what i need help with:
I want to be able to dynamically create column “offer_211” from “offer” table
so for all the offer_id’s as (columns) would be from offer table
Output:
±-----------±---------
| USERID | offer_211 |
±-----------±---------
| 1657487706 | 0 |
| 1238439394 | 0 |
| 1238427171 | 1 |
| 1248431441 | 0 |
| 1248464345 | 1 |
Desired Output:
| USERID | offer_211 | offer_212 |
±-----------±---------±----------
| 1657487706 | 0 | 1 |
| 1238439394 | 0 | 0 |
| 1238427171 | 1 | 0 |
| 1248431441 | 0 | 1 |
| 1248464345 | 1 | 0 |
track Table:
±-----------±------------±-----±----±--------±---------------+
| Field | Type | Null | Key | Default | Extra |
±-----------±------------±-----±----±--------±---------------+
| ID | int(22) | NO | PRI | NULL | auto_increment |
| OFFER_ID | int(22) | YES | MUL | NULL | |
| USERID | int(22) | YES | MUL | NULL | |
±-----------±------------±-----±----±--------±---------------+
userlist Table:
±------------±-------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±------------±-------------±-----±----±--------±------+
| USERID | int(22) | NO | PRI | 0 | |
| EMAIL | varchar(200) | YES | | NULL | |
| FIRSTNAME | varchar(100) | YES | | NULL | |
| LASTNAME | varchar(100) | YES | | NULL | |
offer Table:
±-----------------±-------------±-----±----±------------±---------------+
| Field | Type | Null | Key | Default | Extra |
±-----------------±-------------±-----±----±------------±---------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| NAME | varchar(100) | YES | | NULL | |
| DESCRIPTION | text | YES | | NULL | |
| URL | text | YES | | NULL | |