你好! 我有一个雇员表,其中有用于当前区地址和永久区地址的条目.我也有一个表master_district,其中有900个区.现在master_employee中每个雇员都有两个District条目.我的问题是如何使用内部联接来获取其ID存储在master_employee中的区. 有两个地区的条目,所以如果我使用
Hello!! I have a employee table in which there are entries for present District address and for permanent district address. I also have a table master_district in which there are some 900 districts. now there are two entries of district for each employee in master_employee. my problem is that how to use inner join to get district whose id is stored in master_employee. there are two entries for district so if i am using
Select me.name,me.name_H,me.nationality,me.cast,me.sex,me.permanent_address,ms.state_name,md.dist_name,me.present_address,ms.state_name,md.dist_name,me.father_husband_name,me.date_of_birth,me.personal_id_mark,me.Qualifications from master_employee me inner join master_state ms on me.state_present_address=ms.state_id inner join master_district md on me.dist_permanent_address=md.dist_id where me.unqid=54然后,因为仅在1个条件下为区创建了连接,所以如果我使用,它将为两个id显示相同的区地址
then because join is created only on 1 condition for district so it is showing same district address for both id''s how ever if i use
Select me.name,me.name_H,me.nationality,me.cast,me.sex,me.permanent_address,ms.state_name,md.dist_name,me.present_address,ms.state_name,md.dist_name,me.father_husband_name,me.date_of_birth,me.personal_id_mark,me.Qualifications from master_employee me inner join master_state ms on me.state_present_address=ms.state_id and me.state_permanent_address =ms.state_id inner join master_district md on me.dist_permanent_address=md.dist_id and me.dist_present_address=md.dist_id where me.unqid=12则该命令没有显示任何数据.请告诉我如何根据区域ID使用内部联接为两个区域获取名称.
then there is no data shown for the command. Please tell me how to use inner join to get name for both the district according to there district id
推荐答案Select me.name, me.name_H, me.nationality, me.cast, me.sex, me.permanent_address, (Select state_name from master_state where state_id=me.state_permanent_address) as PermanentState, (Select dist_name from master_district where dist_id=me.dist_permanent_address) as PermanentDistrict, me.present_address, (Select state_name from master_state where state_id=me.state_present_address) as PresentState, (Select dist_name from master_district where dist_id=me.dist_present_address) as PresentDistrict, me.father_husband_name, me.date_of_birth, me.personal_id_mark, me.Qualifications from master_employee me where me.unqid=54
使用左连接"而不是内部连接" 祝您编码愉快! :) use ''left join'' instead of ''inner join'' Happy Coding! :)
更多推荐
内部联接的问题
发布评论