I have two tables ticket
and attr
. Table ticket
has ticked_id
field and several other fields. Table attr
has 3 fields:
ticket_id - numeric
attr_type - numeric
attr_val - string
attr_type
is a fixed enum of values. For example, it can be 1
, 2
or 3
.
I need to make a query, the result of which will be 4 columns:
ticket_id
, attr_val
for attr_type=1
, attr_val
for attr_type=2
, attr_val
for attr_type=3
If there is no corresponding value for attr_type
in attr
table then NULL value should be shown in corresponding column.
Example:
ticket
ticket_id: 1
ticket_id: 2
ticket_id: 3
attr
ticket_id: 1
attr_type: 1
attr_val: Foo
ticket_id: 1
attr_type: 2
attr_val: Bar
ticket_id: 1
attr_type: 3
attr_val: Egg
ticket_id: 2
attr_type: 2
attr_val: Spam
the result should be:
ticked_id: 1
attr_val1: Foo
attr_val2: Bar
attr_val3: Egg
ticked_id: 2
attr_val1: NULL
attr_val2: Spam
attr_val3: NULL
ticked_id: 3
attr_val1: NULL
attr_val2: NULL
attr_val3: NULL
I tried left joining attr
table 3 times, but cannot figure out how to arrange output by attr_type
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…