sql - How to get data with multiple references to single table -
i have image table 3 columns: id, name, , refid - contain id other table (with example category table , product table). category table 3 columns: id, name , productid. product table includes 3 columns: id, name.  product's data:
id                                     name     659543d6-1a0d-4151-b94c-f44ccda752b5   product1 5c1a5a2f-4579-41d2-8fae-93ef71451285   product2      2c35a651-1681-4e5e-9f0c-315169bdfa1d   product3 and category's data:
id                                     name        productid      f3fff612-1d6d-4447-b472-2486c4893cdd   category1   659543d6-1a0d-4151-b94c-f44ccda752b5 4a2ff39d-13e0-4365-8dea-7fad6d6df405   category2   659543d6-1a0d-4151-b94c-f44ccda752b5 599aea59-8a85-409c-9026-7e4313af523d   category3   659543d6-1a0d-4151-b94c-f44ccda752b5 image's data:
id                                     name     refid      bdd396a2-37a7-4b20-b8c5-8ef2cd58d4c0   image1   659543d6-1a0d-4151-b94c-f44ccda752b5 7cda01ff-b98a-4cdc-a92b-0e31a9cdcd20   image2   f3fff612-1d6d-4447-b472-2486c4893cdd please see data example: image1 image of product , image2 image of category. , query:
    select category.id, category.name, product.name, image.name      category      inner join product     on category.productid = product.id     inner join image     on category.id = image.refid  -- on product.id = image.refid  with query image2 or image1. problem how 2 image 1 query?
are looking this?
select c.id category_id,         c.name category_name,         p.name product_name,         i1.name category_image,         i2.name product_image   category c join product p     on c.productid = p.id left join image i1      on c.id = i1.refid left join image i2     on p.id = i2.refid  output:
| category_id | category_name | product_name | category_image | product_image | -------------------------------------------------------------------------------------------------------- | f3fff612-1d6d-4447-b472-2486c4893cdd | category1 | product1 | image2 | image1 | | 4a2ff39d-13e0-4365-8dea-7fad6d6df405 | category2 | product1 | (null) | image1 | | 599aea59-8a85-409c-9026-7e4313af523d | category3 | product1 | (null) | image1 |
here sqlfiddle demo
Comments
Post a Comment