MySQL多表查询语句无法加载出数据,我这sql写的有啥问题么?

这个是我的代码


 SELECT
    a.pk_in_invoice,
    a.in_invoice_no,
    a.invoice_date,
    a.in_invoice_type,
    a.invoice_status,
    a.current_company_code,
    a.current_company,
    a.balance_company_code,
    a.balance_company_name,
    a.receive_company,
    a.in_invoice_amount,
    a.discount_amount,
    a.added_invoice_amount,
    a.added_invoice_no,
    a.added_invoice_date,
    a.discount_rate,
    p.employee_name AS created_by,
    a.document_no,
    a.transport_company,
    a.transport_way,
    a.transport_licence,
    a.transport_no,
    a.transport_amount,
    a.invoice_version,
    a.red_amount,
    a.remark,
    a.created_at,
    a.courier_no,
    a.courier_company,
    a.receiver,
    a.receive_time,
    td.DEALER_CODE org_code,
    td.DEALER_NAME org_name,
    d.part_no,
    d.part_name,
    d.part_unit,
    d.vehicle_model,
    d.settlement_subject,
    d.price,
    ( CASE a.in_invoice_type WHEN 70011002 THEN - d.count ELSE d.count END ) AS count,
    ( CASE a.in_invoice_type WHEN 70011002 THEN - d.amount ELSE d.amount END ) AS amount,
    tf_part_invoice_product.part_no,
    tp.PURCHASE_PRICE 
FROM
    tf_internal_invoice a
    LEFT JOIN tm_emp p ON a.created_by = p.user_code
    LEFT JOIN tf_part_invoice_product d ON a.pk_in_invoice = d.pk_in_invoice
    LEFT JOIN tm_dealer_basicinfo td ON td.DEALER_CODE = a.DEALER_CODE
    ,
    tm_part_info_base_qj AS ti
    INNER JOIN tm_part_price_qj AS tp ON ti.PART_ID = tp.PART_ID
    INNER JOIN tf_part_invoice_product ON ti.PART_CODE = tf_part_invoice_product.part_no 
WHERE
    1 = 1 
    AND a.is_part = 10041001 
    AND a.DEALER_CODE = 'QJ002' 

tm_part_info_base_qj AS ti这个是做什么用的?

img

1、语法没问题
那个逗号从语法上讲,是一个笛卡尔,如果where有条件,则是inner join

2、查询结果为空
建议从单表查询开始, 拿到满足条件的结果
然后join 一个表,拿到结果
继续 join
直到,,不符合你预期了,或者。。。 真的没有满足你要求的数据

这类问题建议先找出一条认为符合条件的记录,然后再看为什么没被选出来。

这类问题建议先找出一条认为符合条件的记录,然后再看为什么没被选出来。