在3个表之间进行SQL Select查询

丹吉

我在创建查询以从3个表中提取数据时遇到了麻烦。

我有一个job_skus表,一个skus和一个stage表,并且我试图选择整个月份jobNo的所有工作清单,而不考虑,例如,以显示4月份所有工作清单的列表。

表格的结构是

Job_Sku                             example data
  JobNo                             J4454             J4454
  Sku (refences Product.Sku)        93339             9947
  Quantity                          500               600
  Stage                             1                 2

Products
   Sku(primary key)                 93339             9947
   Description                      Galvanised Nails  Steel Rods 900mm

Stage
 jobNo                              J4454             J4454
 stage                              1                 2
 date                               04/04/2015        12/04/2015

等等。

我想出了这个查询

SELECT jm.sku,jm.quantity,p.description 
FROM stage as s, products as p, job_sku as jm 
WHERE s.Date BETWEEN '2015-04-01' AND '2015-04-30' 
AND jm.stage = s.stage AND p.sku = jm.sku

但它似乎在查询中获取重复数据。我是否需要使用某种联接,或者提取该日期期间的所有阶段并将结果联接到job_sku表上?

伦纳特

这是一个建议。线程中的其他人建议使用与众不同的结果将导致相同的结果,但是使用存在谓词可澄清查询(IMO)的意图:

SELECT jm.sku
     , jm.quantity
     , p.description 
FROM  products as p
JOIN  job_sku as jm
    ON p.sku = jm.sku
WHERE EXISTS (
    SELECT 1
    FROM stage s
    WHERE s.Date BETWEEN '2015-04-01' AND '2015-04-30' 
      AND jm.stage = s.stage
);

正如其他人也提到的那样,ANSI连接将使查询更容易理解。在我们生存期间,供应商将继续支持“,”联接,因此代码不会中断,但ANSI联接将使其易于维护。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sql select 3个表中的查询

来自分类Dev

从2个表中进行SELECT查询

来自分类Dev

跨 SQL Server 中的 3 个表进行透视查询

来自分类Dev

使用一个变量使用一个SELECT语句对多个表进行SQL查询

来自分类Dev

SELECT查询多个表

来自分类Dev

SQL简单SELECT查询

来自分类Dev

使用变量的一个SELECT语句对多个表进行SQL查询

来自分类Dev

从两个表中进行MYSQL SELECT并减少查询

来自分类Dev

使用一个SQL查询进行SELECT,UPDATE,DELETE?

来自分类Dev

在Ruby on Rails中的两个表之间进行查询

来自分类Dev

在MySQL中的SELECT查询中联接3个表

来自分类Dev

使用内部SELECT进行SQL查询

来自分类Dev

比较单个表的SELECT查询

来自分类Dev

通过Select查询创建表

来自分类Dev

基于多个表的SELECT查询

来自分类Dev

SQL Select查询以从父表获取数据

来自分类Dev

使用Northwind数据库和SQL Server在三个表之间进行子查询

来自分类Dev

如何在两个表之间进行sql查询连接包括分组依据和最大值

来自分类Dev

3表SELECT查询的正确语法

来自分类Dev

在SELECT中的IF语句SQL查询

来自分类Dev

SQL Select查询性能改进

来自分类Dev

SQL查询-SUM中的SELECT

来自分类Dev

从SQL中的SELECT查询更新

来自分类Dev

SQL Select查询性能改进

来自分类Dev

子查询中的SQL Select

来自分类Dev

SQL查询-SUM中的SELECT

来自分类Dev

SQL Select总和查询变量

来自分类Dev

重写PostgreSQL的Select SQL查询

来自分类Dev

Interbase SQL重做Select查询