다른 테이블의 값으로 SQL 쿼리를 사용하는 방법

user8884355

작업 (프로그래밍 작업 목록)

TaskID  Lang          Description
---------------------------------
 1      python        test1
 2      python        test2
 3      javascript    test1
 4      python        test3

Assig (모든 사용자의 완료된 프로그래밍 작업 목록)

  Id  TaskId   UserName      Lang
  ------------------------------------     
  1   1          x1         python
  2   2          x1         python
  3   3          x2         javascript     
  4   3          x1         python 

마지막에 원하는 것은 아래와 같은 테이블을 갖는 것입니다.

결과

TaskID  Assig.UserName Lang       Completed
1       x1             python     YES
2       x2             javascript  NO
3       x1             python     YES
4       x1             python     NO

아래 항목을 시도했지만 표시 UserName캡처 할 수 없습니다 . 따라서 일반적으로 문은 다음과 같습니다.

SELECT 
  taskid, levelskill, 
  CASE
    WHEN EXISTS 
    (SELECT 
      taskid 
    FROM
      assig 
    WHERE tasks.taskid = assig.taskid 
      AND tasks.lang = assig.lang) 
    THEN 'TRUE' 
    ELSE 'FALSE' 
  END AS Completed 
FROM
  tasks 
WHERE (lang = @lang) 
GROUP BY levelskill, taskid 
폴 맥스웰

"원하는 결과"는 불가능합니다

  1. 작업 테이블의 작업 2는 "javascript"이지만 결과는 "python"입니다.
  2. 완료된 작업 테이블 (assig)에는 4 개의 행이 있지만 해당 테이블에서는 3 개의 작업 ID 만 참조됩니다.

결합 된 테이블은 다음과 같습니다.

TaskID Lang    Description  assig.UserName assig.id completed
 1     python     test1          x1          1        TRUE
 2     python     test2          x1          2        TRUE
 3     javascript test1          x2          3        TRUE
 3     javascript test1          x1          4        TRUE
 4     python     test3          NULL       NULL      FALSE

(nb : 작업 4 옆에 사용자 이름을 넣을 수 없습니다. 데이터가 존재하지 않습니다.)

다음 쿼리에서 결과를 얻을 수 있습니다.

SELECT
      t.taskid
    , t.Lang
    , t.Description
    , a.username
    , CASE a.taskid IS NULL THEN 'FALSE' ELSE 'TRUE' END AS completed
    , a.id
FROM tasks t
LEFT JOIN assig a on t.taskid = a.taskid
WHERE lang = @lang

작업에 둘 이상의 사용자 이름이 할당 된 경우 해당 쿼리는 작업중인 각 사용자에 대해 작업을 반복합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

SQL : 다른 테이블의 값으로 테이블을 쿼리하는 방법은 무엇입니까?

분류에서Dev

SQL SELECT를 사용하여 다른 테이블의 특정 행을 기반으로 테이블을 쿼리하는 방법

분류에서Dev

SQL : 다른 테이블의 값을 기반으로 한 테이블에 레코드가 있는지 여부를 쿼리하는 방법

분류에서Dev

SQL : 다른 테이블의 값을 기반으로 한 테이블에 레코드가 있는지 여부를 쿼리하는 방법

분류에서Dev

다른 테이블의 값을 기반으로 테이블에서 SQL 쿼리를 수행하는 방법은 무엇입니까?

분류에서Dev

한 SQL 쿼리의 결과를 다른 테이블의 데이터로 정렬하는 방법

분류에서Dev

SQL 단순 쿼리를 사용하여 다른 테이블의 데이터를 삽입하는 방법

분류에서Dev

다른 테이블의 값을 기반으로 백분율을 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?

분류에서Dev

쿼리 결과를 사용하여 SQL Server의 다른 테이블을 선택하는 방법

분류에서Dev

ID를 다른 테이블의 값으로 바꾸는 방법

분류에서Dev

SQL MERGE로 다른 하위 쿼리를 사용하는 방법

분류에서Dev

다른 테이블의 값을 기반으로하는 SQL 쿼리

분류에서Dev

MySql 'Insert Ignore into'쿼리를 사용하여 다른 테이블의 일부 값을 기반으로 레코드를 삽입하는 방법

분류에서Dev

첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

분류에서Dev

다른 테이블의 열 값을 기반으로 한 테이블에서 선택하는 SQL 쿼리

분류에서Dev

Oracle에서 테이블의 최소값 (값)보다 큰 값으로 결과를 쿼리하는 방법

분류에서Dev

최대 값으로 ID를 선택하는 방법이 다른 테이블의

분류에서Dev

임시 변수를 다른 테이블의 값으로 설정하는 방법

분류에서Dev

5 개의 다른 테이블로 내부 쿼리를 만드는 방법 mysql

분류에서Dev

다른 쿼리의 결과를 사용하는 SQL 업데이트 테이블

분류에서Dev

동일한 테이블의 다른 열 값을 기반으로 테이블에서 날짜를 추출하는 SQL 쿼리?

분류에서Dev

다른 조건에서 동일한 테이블의 두 열 값을 나누는 방법 SQL 쿼리

분류에서Dev

업데이트 된 테이블을 사용하여 2 개의 다른 테이블로`WITH` SQL 쿼리를 올바르게 만드는 방법은 무엇입니까?

분류에서Dev

각 필드를 사용하여 한 테이블의 값을 다른 테이블에 삽입하는 방법

분류에서Dev

한 테이블 열 값을 다른 테이블 값으로 업데이트하는 SQL Server 쿼리

분류에서Dev

다른 테이블 열의 값을 기반으로하는 쿼리 테이블

분류에서Dev

SQL Server-테이블 생성자로 쿼리를 정의하는 방법

분류에서Dev

조인 SQL 쿼리 테이블 결과를 다른 방법으로 전달하는 방법은 무엇입니까?

분류에서Dev

SQL-다른 테이블의 값 조회를 사용하여 선택 쿼리에 삽입

Related 관련 기사

  1. 1

    SQL : 다른 테이블의 값으로 테이블을 쿼리하는 방법은 무엇입니까?

  2. 2

    SQL SELECT를 사용하여 다른 테이블의 특정 행을 기반으로 테이블을 쿼리하는 방법

  3. 3

    SQL : 다른 테이블의 값을 기반으로 한 테이블에 레코드가 있는지 여부를 쿼리하는 방법

  4. 4

    SQL : 다른 테이블의 값을 기반으로 한 테이블에 레코드가 있는지 여부를 쿼리하는 방법

  5. 5

    다른 테이블의 값을 기반으로 테이블에서 SQL 쿼리를 수행하는 방법은 무엇입니까?

  6. 6

    한 SQL 쿼리의 결과를 다른 테이블의 데이터로 정렬하는 방법

  7. 7

    SQL 단순 쿼리를 사용하여 다른 테이블의 데이터를 삽입하는 방법

  8. 8

    다른 테이블의 값을 기반으로 백분율을 계산하는 SQL 쿼리를 작성하는 방법은 무엇입니까?

  9. 9

    쿼리 결과를 사용하여 SQL Server의 다른 테이블을 선택하는 방법

  10. 10

    ID를 다른 테이블의 값으로 바꾸는 방법

  11. 11

    SQL MERGE로 다른 하위 쿼리를 사용하는 방법

  12. 12

    다른 테이블의 값을 기반으로하는 SQL 쿼리

  13. 13

    MySql 'Insert Ignore into'쿼리를 사용하여 다른 테이블의 일부 값을 기반으로 레코드를 삽입하는 방법

  14. 14

    첫 번째 쿼리 ID가 다른 테이블에서 사용되는 한 번의 클릭으로 두 테이블에 데이터를 삽입하는 방법

  15. 15

    다른 테이블의 열 값을 기반으로 한 테이블에서 선택하는 SQL 쿼리

  16. 16

    Oracle에서 테이블의 최소값 (값)보다 큰 값으로 결과를 쿼리하는 방법

  17. 17

    최대 값으로 ID를 선택하는 방법이 다른 테이블의

  18. 18

    임시 변수를 다른 테이블의 값으로 설정하는 방법

  19. 19

    5 개의 다른 테이블로 내부 쿼리를 만드는 방법 mysql

  20. 20

    다른 쿼리의 결과를 사용하는 SQL 업데이트 테이블

  21. 21

    동일한 테이블의 다른 열 값을 기반으로 테이블에서 날짜를 추출하는 SQL 쿼리?

  22. 22

    다른 조건에서 동일한 테이블의 두 열 값을 나누는 방법 SQL 쿼리

  23. 23

    업데이트 된 테이블을 사용하여 2 개의 다른 테이블로`WITH` SQL 쿼리를 올바르게 만드는 방법은 무엇입니까?

  24. 24

    각 필드를 사용하여 한 테이블의 값을 다른 테이블에 삽입하는 방법

  25. 25

    한 테이블 열 값을 다른 테이블 값으로 업데이트하는 SQL Server 쿼리

  26. 26

    다른 테이블 열의 값을 기반으로하는 쿼리 테이블

  27. 27

    SQL Server-테이블 생성자로 쿼리를 정의하는 방법

  28. 28

    조인 SQL 쿼리 테이블 결과를 다른 방법으로 전달하는 방법은 무엇입니까?

  29. 29

    SQL-다른 테이블의 값 조회를 사용하여 선택 쿼리에 삽입

뜨겁다태그

보관