我有表:调度,机主,机28,故障
调度有:机车id
机主有:机车id 机28id
机28有:机28id 故障id
故障有:故障id,故障范围
我想通过调度表里的‘机车id’查出来故障表里的‘故障范围’记录具体要怎么做呢?

解决方案 »

  1.   

    我有表:调度,机主,机28,故障
    调度有:机车id
    机主有:机车id 机28id
    机28有:机28id 故障id
    故障有:故障id,故障范围
    我想通过调度表里的‘机车id’查出来故障表里的‘故障范围’记录具体要怎么做呢?
      

  2.   

    select d.故障范围 from 调度 a,机主 b,机28 c,故障 d 
    where a.机车id=b.机车id and b.机28id=c.机28id and c.故障id=d.故障id
          and a.机车id=?(你要查询的值)
      

  3.   

    select 调度.机车id,故障.故障范围
    from 调度,机主,机28,故障
    where 调度.机车id=机主.机车id and 机主.机28id=机28.机28id 
      and 机28.故障id=故障.故障范围
      

  4.   

    我还是不明白啊。象他所说的:select 调度.机车id,故障.故障范围
    from 调度,机主,机28,故障
    where 调度.机车id=机主.机车id and 机主.机28id=机28.机28id 
      and 机28.故障id=故障.故障范围
    最终我查出来的是什么呢?我想取这个“故障范围”的值。怎么取呢?
    换句话说我还想判断一下这个值是否在AA中。怎么实现呢?
      

  5.   

    好的。就是A或是B或是C。我的意思是。如果是A的话。是A  Label.caption就为A 明白了?并且我要和它同一条记录上的时间的也显示在Label2上,怎么办?
      

  6.   

    故障范围是字段名。对应的记录是A或B 或C 
    同样。在这个表里还有时间字段。我要把查出来的故障范围对应的记录一起的时间也显示出来~!
      

  7.   

    他问的是返回记录集后怎么把值取出来。
    ADOOBJECT。Fields(“FieldsName”)
      

  8.   

    select d.故障范围 from 调度 a,机主 b,机28 c,故障 d 
    where a.机车id=b.机车id and b.机28id=c.机28id and c.故障id=d.故障id
          and a.机车id=?(你要查询的值)
    label1.caption:=adoquery1.fieldbyname('故障范围').asstring
    即可
      

  9.   

    SELECT dbo.调度.机车ID, dbo.故障.故障范围
    FROM dbo.调度 INNER JOIN
          dbo.机主 ON dbo.调度.机车ID = dbo.机主.机车id INNER JOIN
          dbo.机28 ON dbo.机主.机28id = dbo.机28.机28id INNER JOIN
          dbo.故障 ON dbo.机28.故障id = dbo.故障.故障id
      

  10.   

    select d.故障范围,d.时间 from 调度 a,机主 b,机28 c,故障 d 
    where a.机车id=b.机车id and b.机28id=c.机28id and c.故障id=d.故障id
          and a.机车id=:varid        //varid为查询参数
    label1.caption:=adoquery1.fieldbyname('故障范围').asstring;
    label2.caption:=datetimetostr(adoquery1.fieldbyname('时间').asdatetime);