Sql 如何从另一个表中具有id的表中选择名称?
我有两张表格:用户信息和公司信息 表用户信息: 表公司信息: 如何从表格user_info中获取用户名,即用户名,而不是表格company_info中的CreatedBy和ModifiedBy 即 我试过这个:Sql 如何从另一个表中具有id的表中选择名称?,sql,sql-server,Sql,Sql Server,我有两张表格:用户信息和公司信息 表用户信息: 表公司信息: 如何从表格user_info中获取用户名,即用户名,而不是表格company_info中的CreatedBy和ModifiedBy 即 我试过这个: select A.companyid, A.companyname, B.username as CreatedBy, ModifiedBy from company_info A inner join user_inform B on (A.CreatedBy = B.user
select A.companyid, A.companyname, B.username as CreatedBy, ModifiedBy
from company_info A
inner join user_inform B
on (A.CreatedBy = B.userid)
请尝试以下查询:
SELECT *
FROM table1
JOIN User_table T1 ON table1.CreatedBy = T1.userid
LEFT JOIN User_table T2 ON table1.ModifiedBy= T2.userid
上面的门厅很近:
SELECT
c.companyid, c.companyname, u_c.username AS CreatedBy, u_m.username AS ModifiedBy
FROM
(company_info c INNER JOIN user_info u_c ON company_info.CreatedBy = u_c.userid)
LEFT JOIN user_info u_m ON company_info.ModifiedBy = u_m.userid
左键连接用户信息表两次。第一次获取用户创建的,第二次获取用户修改的
select ci.companyid, ci.companyname, uc.username CreatedBy, um.username ModifiedBy
from company_info ci
left join user_info uc on ci.CreatedBy = uc.userid
left join user_info um on ci.ModifiedBy = um.userid
左键连接,以防其中一个用户丢失。一眼望去,外键和连接……您尝试了什么?@Tim,外键用于数据一致性,选择时没有什么区别。您的连接条件看起来有点…关闭…更不用说查询不会生成OP要查找的输出。@Mansoor将nvarchar值“username”转换为数据类型时,其给出的错误转换失败int@Mansoor它不来了它还是以int格式来的itself@Suhas,检查您的CreatedBy、ModifiedBy、userid字段数据类型。所有字段的数据类型是否都相同,即INT…?其提交错误,即通过一个内部联接和一个左联接为每个ModifiedBy和CreatedBy显示A?我在这两种情况下都选择了相同的类型。我为CreatedBy进行了内部联接,因为我假设每个记录都是由某人创建的。我为ModifiedBy做了一个左连接,因为记录可能没有被任何人修改,所以它可能是空的。我犯了一个错误——忘了给公司提供c的别名。它固定在上面。
SELECT *
FROM table1
JOIN User_table T1 ON table1.CreatedBy = T1.userid
LEFT JOIN User_table T2 ON table1.ModifiedBy= T2.userid
SELECT
c.companyid, c.companyname, u_c.username AS CreatedBy, u_m.username AS ModifiedBy
FROM
(company_info c INNER JOIN user_info u_c ON company_info.CreatedBy = u_c.userid)
LEFT JOIN user_info u_m ON company_info.ModifiedBy = u_m.userid
select ci.companyid, ci.companyname, uc.username CreatedBy, um.username ModifiedBy
from company_info ci
left join user_info uc on ci.CreatedBy = uc.userid
left join user_info um on ci.ModifiedBy = um.userid