一个SQL查询字符串中有两个内部联接

本文关键字:两个 内部 查询 SQL 字符串 一个 | 更新日期: 2023-09-27 18:22:05

我目前正试图从三个表中获取信息。我有一个"worker"表,其中包括一个存储ID(store_idStore)和一个作业ID(job_idJob)作为外键。在Store和Job表中,每个表都有一个"Name"字段——这是我希望在查询中返回的数据以及Worker中的所有信息。我唯一需要注意的是,我必须将查询放入C#中的一个字符串中。

到目前为止,我可以加入并从Worker和Store获得信息:

SELECT worker.*, store.Name AS 'Store' 
from worker inner join store on worker.Store_idStore = store.idStore

我如何扩展它以获得相关Job的名称?

一个SQL查询字符串中有两个内部联接

试试这个:

SELECT worker.*,store.Name AS store,job.Name AS job from worker inner join store on worker.Store_idStore = store.idStore and worker inner join job on worker.job_idJob = job.idJob

只需在末端上附加另一个内部联接

SELECT w.*,s.Name AS 'Store', j.name as 'job' from worker w
inner join store s on worker.Store_idStore = store.idStore
Inner join job J on worker.job_idjob = job.idjob

试试这个:

SELECT DISTINCT w.*, s.*, j.*
FROM worker AS w
 LEFT JOIN store AS s ON w.store_idStore = s.id
 LEFT JOIN job AS j ON w.job_idJob = j.id

当然,您可以将*替换为所需的任何列的名称。您可以在末尾添加Where子句。