首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用联接连接3个表的sql查询

使用联接连接3个表的sql查询
EN

Stack Overflow用户
提问于 2011-06-10 09:53:52
回答 2查看 9.4K关注 0票数 2

我想显示如下所示的3个表的列值(数据显示、温度、压力),我的查询也显示在下面,但是这里的温度值是重复的,我想要所有对应的特定日期的值,我该怎么做呢?有人能帮我吗?

表是

  1. datalogging5

名称移位操作员id植物线机:00.000 Plant1 Line1 mc1 Pra深处shift1(7-3) Operator1 101 2011-06-06 00:00:00.000 Plant1 Line1 mc1 .

  • 温度

温度时间日期

温度时间日期00:00.

我的sql查询是

代码语言:javascript
复制
select Date=convert(varchar(12),(t1.date),101), t1.time, operatorname, 
    machine, line, t2.time, Temprature, Pressure
from datalogging5 t 
inner join temprature t1 on t1.date=t.date 
inner join pressure t2 on t.date=t2.date  order by t.date
EN

回答 2

Stack Overflow用户

发布于 2011-06-10 10:20:09

我在SQL方面不是很流利,所以如果我做错了什么,请告诉我,但是你不能这样做:

代码语言:javascript
复制
SELECT CONVERT(varchar(12),(t1.date),101) AS Date, t1.time, t.operatorname, 
    t.machine, t.line, t2.time, t1.temprature, t2.pressure
FROM datalogging5 t 
INNER JOIN temprature t1 ON t1.date=t.date 
INNER JOIN pressure t2 ON t.date=t2.date
WHERE t.date = '2011-6-10'
ORDER BY t.date;

您可以用搜索查询的任何内容替换2011-6-10。至于温度重复问题,我认为问题在于您试图通过date列连接表。有可能不止一个数据记录或温度条目有相同的日期,所以当您运行您的查询时,它会对它匹配的每条记录显示一次,从而使它看起来像一个副本。

不管怎么说,让我知道这段代码是不是你想要的。

票数 1
EN

Stack Overflow用户

发布于 2011-06-10 10:39:38

您需要在日期和时间上加入温度和压力表(因为它们显然存储在单独的列中)。

代码语言:javascript
复制
Select D.Date, T.Time...
From DataLoggings As D
    Join Temperature As T
        On T.Date = D.Date
    Join Pressure As P
        On P.Date = T.Date
            And P.Time = T.Time

您的模式和这个查询有一些捕获:

  1. 表中的时间必须与压力表中的时间完全匹配,毫秒和压表中的时间必须完全匹配。
  2. 必须同时具有给定时间的温度读数和压力读数,以便在列表中返回。绕过这个问题的一种方法是从一个数字或计数表构建一天中秒的时间表,这是一个丑陋的解决方案。

你可以考虑一个测量表,而不是一个单独的温度和压力表。所以,就像:

代码语言:javascript
复制
Create Table Measurements
    (
    ReadingType varchar(15) not null
    , Reading float not null
    , Date date not null
    , Time time not null
    , Check( ReadingType In('Temperature','Pressure') )
    )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6304733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档