如何使用内部联接更改SQL查询
问题描述:
select a.transaction_id, a.slip_date,a.temp_transaction_id,a.transaction_item_group_id,a.transaction_item_type_id,a.product_grade_id, a.unit_id,a.price_per_unit,a.total_price,a.actual_amount,a.paid_amount,a.due_amount,a.buying_agent_id,a.currency_id,a.transactee_type_id, a.quantity,a.lot_id,a.std_quantity,a.finance_type,a.slip_no,a.distribution_type,a.years_reimburse,b.farmerseason,b.regionname,b.zonename,b.sectionname,b.villagename,
a.transactee_id,b.lastname + ' ' + b.firstname + ' ' + b.surname as farmername,
c.transaction_item_type_code,c.transaction_item_type_name,d.transaction_item_group_id,d.transaction_item_group_name,e.location,a.status from [transact].[transaction_item] a,
tbl_farmerregistration_ivorycoast b,[master].[transaction_item_type] c,[master].[transaction_item_group] d,[master].[transaction_location_item_type] e
where a.transactee_id = b.farmersapcode
and a.transaction_item_type_id = c.transaction_item_type_id
and a.transaction_item_group_id = d.transaction_item_group_id and e.transaction_item_id = c.transaction_item_type_id
and a.status = 'new' and b.isactive = '1' and b.farmersapcode = '1111290'
来自上面的查询如何换成内连接条件
请让我知道
我尝试了什么:
from the above query how to change into inner join condition
please let me know
What I have tried:
select a.transaction_id, a.slip_date,a.temp_transaction_id,a.transaction_item_group_id,a.transaction_item_type_id,a.product_grade_id, a.unit_id,a.price_per_unit,a.total_price,a.actual_amount,a.paid_amount,a.due_amount,a.buying_agent_id,a.currency_id,a.transactee_type_id, a.quantity,a.lot_id,a.std_quantity,a.finance_type,a.slip_no,a.distribution_type,a.years_reimburse,b.farmerseason,b.regionname,b.zonename,b.sectionname,b.villagename,
a.transactee_id,b.lastname + ' ' + b.firstname + ' ' + b.surname as farmername,
c.transaction_item_type_code,c.transaction_item_type_name,d.transaction_item_group_id,d.transaction_item_group_name,e.location,a.status from [transact].[transaction_item] a,
tbl_farmerregistration_ivorycoast b,[master].[transaction_item_type] c,[master].[transaction_item_group] d,[master].[transaction_location_item_type] e
where a.transactee_id = b.farmersapcode
and a.transaction_item_type_id = c.transaction_item_type_id
and a.transaction_item_group_id = d.transaction_item_group_id
and e.transaction_item_id = c.transaction_item_type_id
and a.status = 'new' and b.isactive = '1' and b.farmersapcode = '1111290'
来自上面的查询如何查询进入内部连接状态
请让我知道
from the above query how to change into inner join condition
please let me know
答
这是一种非常老式的方式加入表格。尝试
That is a very old-fashioned way of joining tables. Try
SELECT a.transaction_id, a.slip_date,a.temp_transaction_id,a.transaction_item_group_id,
a.transaction_item_type_id,a.product_grade_id, a.unit_id,a.price_per_unit,a.total_price,
a.actual_amount,a.paid_amount,a.due_amount,a.buying_agent_id,a.currency_id,a.transactee_type_id,
a.quantity,a.lot_id,a.std_quantity,a.finance_type,a.slip_no,a.distribution_type,a.years_reimburse,b.farmerseason,b.regionname,b.zonename,b.sectionname,b.villagename,
a.transactee_id,b.lastname + ' ' + b.firstname + ' ' + b.surname as farmername,
c.transaction_item_type_code,c.transaction_item_type_name,d.transaction_item_group_id,d.transaction_item_group_name,e.location,a.status
FROM [transact].[transaction_item] a
INNER JOIN tbl_farmerregistration_ivorycoast b ON a.transactee_id = b.farmersapcode
INNER JOIN [master].[transaction_item_type] c ON a.transaction_item_type_id = c.transaction_item_type_id
INNER JOIN [master].[transaction_item_group] d ON a.transaction_item_group_id = d.transaction_item_group_id
INNER JOIN [master].[transaction_location_item_type] e ON e.transaction_item_id = c.transaction_item_type_id
WHERE
a.status = 'new' and b.isactive = '1' and b.farmersapcode = '1111290'