MySQL: How do I join same table multiple times?

后端 未结 3 541
刺人心
刺人心 2020-11-29 08:08

I have two tables ticket and attr. Table ticket has ticked_id field and several other fields. Table attr has

3条回答
  •  佛祖请我去吃肉
    2020-11-29 08:36

    You need to use multiple LEFT JOINs:

    SELECT 
        ticket.ticket_id,  
        a1.attr_val AS attr_val1,
        a2.attr_val AS attr_val2,
        a3.attr_val AS attr_val3
    FROM ticket
        LEFT JOIN attr a1 ON ticket.ticket_id=a1.ticket_id AND a1.attr_type=1
        LEFT JOIN attr a2 ON ticket.ticket_id=a2.ticket_id AND a2.attr_type=2
        LEFT JOIN attr a3 ON ticket.ticket_id=a3.ticket_id AND a3.attr_type=3
    

    Here is an example: SQL Fiddle.

提交回复
热议问题