这个是我的代码
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这个是做什么用的?
1、语法没问题
那个逗号从语法上讲,是一个笛卡尔,如果where有条件,则是inner join
2、查询结果为空
建议从单表查询开始, 拿到满足条件的结果
然后join 一个表,拿到结果
继续 join
直到,,不符合你预期了,或者。。。 真的没有满足你要求的数据
这类问题建议先找出一条认为符合条件的记录,然后再看为什么没被选出来。
这类问题建议先找出一条认为符合条件的记录,然后再看为什么没被选出来。