3 개 테이블 간의 SQL 선택 쿼리

KDhanji

3 개의 테이블에서 데이터를 가져 오는 쿼리를 만드는 데 문제가 있습니다.

나는 job_skus테이블, skus테이블, 테이블을 가지고 있으며 , 예를 들어 4 월의 모든 직업 skus 목록을 표시하기 위해에 stage관계없이 한 달 전체의 모든 작업 skus를 선택하려고합니다 jobNo.

테이블의 구조는

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테이블 에 조인해야 합니까?

Lennart

여기에 한 가지 제안이 있습니다. 스레드의 다른 사람들은 동일한 결과를 초래하는 구별을 제안했지만 exists 술어를 사용하면 쿼리 (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

2 개의 테이블에서 SQL 쿼리. 선택 및 검색

분류에서Dev

SQL 쿼리의 선택적 테이블

분류에서Dev

SQL의 3 개 테이블에서 정보 선택

분류에서Dev

3 개의 테이블에서 SQL 서버 선택

분류에서Dev

하나의 테이블에 3 개의 동시 SQL 쿼리

분류에서Dev

SQL Server의 3 개 테이블에 대한 피벗 쿼리

분류에서Dev

order 절을 사용하여 두 개의 개별 테이블에서 선택하는 SQL 쿼리

분류에서Dev

SQL :이 3 개의 테이블에서 데이터를 선택하는 방법

분류에서Dev

2 개의 테이블 값을 비교하여 쿼리 선택

분류에서Dev

단일 쿼리로 2 개의 테이블에서 선택

분류에서Dev

4 개의 테이블에서 MySQL 복합 선택 쿼리

분류에서Dev

SQL GROUP BY를 사용하여 3 개의 테이블에서 데이터 선택

분류에서Dev

Postgres 선택 쿼리 : 두 개의 다른 테이블에서 표시 수 선택

분류에서Dev

MySQL 쿼리-3 개의 테이블에서 특정 값에서 다중 열을 선택하는 방법

분류에서Dev

열 이름이 다른 3 개의 테이블에 대한 SQL 쿼리

분류에서Dev

SQL Server의 테이블에 여러 선택 쿼리 삽입

분류에서Dev

SQL : 선택 쿼리 개선

분류에서Dev

3 개의 테이블에서 데이터를 검색하는 SQL 쿼리

분류에서Dev

내부는 SQL 쿼리에서 두 열의 SUM 3 개 테이블 가입?

분류에서Dev

SQL의 3 개 테이블에서 정보를 검색하기위한 쿼리?

분류에서Dev

관련 테이블에 선택적 매개 변수가있는 SQL 쿼리

분류에서Dev

테이블을 재사용하는 3 개의 테이블에 대한 SQL 쿼리

분류에서Dev

SSRS 2008 쿼리 : 선택한 매개 변수의 테이블 이름

분류에서Dev

이 쿼리가 가능합니까? 2 개의 테이블에서 선택

분류에서Dev

SQL 개수 (선택) 쿼리

분류에서Dev

3 개의 MySQL 테이블을 1 개의 쿼리에 결합

분류에서Dev

3 개의 MySQL 테이블을 1 개의 쿼리에 결합

분류에서Dev

3 개의 MySQL 테이블을 1 개의 쿼리에 결합

분류에서Dev

MySQL SQL 오류 1 개 이상의 테이블 선택

Related 관련 기사

  1. 1

    2 개의 테이블에서 SQL 쿼리. 선택 및 검색

  2. 2

    SQL 쿼리의 선택적 테이블

  3. 3

    SQL의 3 개 테이블에서 정보 선택

  4. 4

    3 개의 테이블에서 SQL 서버 선택

  5. 5

    하나의 테이블에 3 개의 동시 SQL 쿼리

  6. 6

    SQL Server의 3 개 테이블에 대한 피벗 쿼리

  7. 7

    order 절을 사용하여 두 개의 개별 테이블에서 선택하는 SQL 쿼리

  8. 8

    SQL :이 3 개의 테이블에서 데이터를 선택하는 방법

  9. 9

    2 개의 테이블 값을 비교하여 쿼리 선택

  10. 10

    단일 쿼리로 2 개의 테이블에서 선택

  11. 11

    4 개의 테이블에서 MySQL 복합 선택 쿼리

  12. 12

    SQL GROUP BY를 사용하여 3 개의 테이블에서 데이터 선택

  13. 13

    Postgres 선택 쿼리 : 두 개의 다른 테이블에서 표시 수 선택

  14. 14

    MySQL 쿼리-3 개의 테이블에서 특정 값에서 다중 열을 선택하는 방법

  15. 15

    열 이름이 다른 3 개의 테이블에 대한 SQL 쿼리

  16. 16

    SQL Server의 테이블에 여러 선택 쿼리 삽입

  17. 17

    SQL : 선택 쿼리 개선

  18. 18

    3 개의 테이블에서 데이터를 검색하는 SQL 쿼리

  19. 19

    내부는 SQL 쿼리에서 두 열의 SUM 3 개 테이블 가입?

  20. 20

    SQL의 3 개 테이블에서 정보를 검색하기위한 쿼리?

  21. 21

    관련 테이블에 선택적 매개 변수가있는 SQL 쿼리

  22. 22

    테이블을 재사용하는 3 개의 테이블에 대한 SQL 쿼리

  23. 23

    SSRS 2008 쿼리 : 선택한 매개 변수의 테이블 이름

  24. 24

    이 쿼리가 가능합니까? 2 개의 테이블에서 선택

  25. 25

    SQL 개수 (선택) 쿼리

  26. 26

    3 개의 MySQL 테이블을 1 개의 쿼리에 결합

  27. 27

    3 개의 MySQL 테이블을 1 개의 쿼리에 결합

  28. 28

    3 개의 MySQL 테이블을 1 개의 쿼리에 결합

  29. 29

    MySQL SQL 오류 1 개 이상의 테이블 선택

뜨겁다태그

보관