如何使用内部联接更改SQL查询 [英] How to change SQL query using inner join

查看:83
本文介绍了如何使用内部联接更改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'


这篇关于如何使用内部联接更改SQL查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆