SELECT
o.id,
o.code,
o.sc_id,
o.supplier_id,
o.purchaser_id,
o.expect_arrive_date,
o.total_num,
o.total_gift_num,
o.total_amount,
o.description,
o.create_by,
o.create_time,
o.update_by,
o.update_time,
o.approve_by,
o.approve_time,
o.status,
o.refuse_reason,
o.link_number
FROM tbl_purchase_order AS o
SELECT
o.id,
o.code,
o.sc_id,
o.supplier_id,
o.purchaser_id,
o.expect_arrive_date,
o.total_num,
o.total_gift_num,
o.total_amount,
o.description,
o.create_by,
o.create_time,
o.update_by,
o.update_time,
o.approve_by,
o.approve_time,
o.status,
o.refuse_reason,
o.link_number,
d.id AS detail_id,
d.product_id AS detail_product_id,
d.order_num AS detail_order_num,
d.tax_price AS detail_tax_price,
d.is_gift AS detail_is_gift,
d.tax_rate AS detail_tax_rate,
d.description AS detail_description,
d.order_no AS detail_order_no
FROM tbl_purchase_order AS o
LEFT JOIN tbl_purchase_order_detail AS d ON d.order_id = o.id
SELECT
g.id,
g.code,
g.name,
c.id AS category_id,
c.name AS category_name,
b.id AS brand_id,
b.name AS brand_name,
g.sku_code,
g.external_code,
g.spec,
g.unit,
purchase.price AS purchase_price,
g.tax_rate,
g.available
FROM base_data_product AS g
INNER JOIN base_data_product_purchase AS purchase ON purchase.id = g.id
LEFT JOIN base_data_product_category AS c ON c.id = g.category_id
LEFT JOIN base_data_product_brand AS b ON b.id = g.brand_id
LEFT JOIN recursion_mapping AS rm ON rm.node_id = c.id and rm.node_type = 2