繁体   English   中英

SQL连接2个表,从第2个条件查询第1个表

[英]SQL join 2 tables, query 1st with condition from 2nd

我有2张桌子:

停机时间类别: CatID ----- CatName ----- SiteID

停机时间: DtID ----- DtName ----- CatID

如何创建查询,以便可以从停机时间中提取所有记录,其中停机时间类别中的SiteID = x?

我不知道如何用词来表达我的需求,我已经尝试了所有联接,但没有一个能给我我所需要的

任何帮助,将不胜感激,谢谢

编辑:我已经尝试了以下答案的所有变体,但是它们都不起作用...将其中一个复制到SMS并运行它现在第一次可以工作:(我一定在某个地方有错字...愚蠢...感谢您的答复

SELECT D.* FROM
DOWNTIMES D INNER JOIN DOWNTIMECATEGORIES DC ON (D.CATID = DC.CATID)
WHERE DC.SiteID = X

尝试这个:

SELECT T1.CatID
      ,T1.CatName
      ,T1.SiteID
FROM Downtimes AS T1
INNER JOIN DowntimesCategories AS T2
    ON T1.CatID = T2.CatID
WHERE T2.SiteID = X

尝试以下内部加入:

SELECT *
FROM DOWNTIME_CATEGORIES DC INNER JOIN DOWNTIME D
ON D.CatId = DC.CatID
WHERE DC.SiteID = 'X'

看起来很简单,您需要的是INNER JOIN

SELECT *
FROM   Downtime_Categories DC
       JOIN Downtimes D
         ON DC.CatID = D.CatID
            AND DC.SiteID = 'x' 

这是我想出的:

Select d.*
From Downtime d
Inner Join DowntimeCategories dc On dc.CategoryId = d.CategoryId
  And dc.SiteId = x

你可以试试这个

SELECT D.CatID ,D.CatName ,D.SiteID
FROM Downtimes D INNER JOIN DowntimesCategories DC
    ON D.CatID = DC.CatID
WHERE DC.SiteID = put your id here

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM