왼쪽 조인 쿼리로 mysql 선택

로널드 만 라파 오

내 코드는

select class.name as classname,
       class.hours as hours, 
       teachers.first_name as teacherFirstName, 
       teachers.last_name as teacherLastName 
from teachers,class 
left join class_teachers cl on class.id = cl.class_ref  
left join class_teachers cl1 on teachers.id = cl1.teachers_ref

오류가 있습니다

#1054 - Unknown column 'teachers.id' in 'on clause

수업과 교사를 교환 할 때 오류는

#1054 - Unknown column 'class.id' in 'on clause

문제가 뭔지 아세요?

편집하다

CREATE TABLE `class` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `hours` int(3) NOT NULL,
  PRIMARY KEY (`id`)
)

CREATE TABLE `class_teachers` (
  `class_ref` int(11) NOT NULL,
  `teachers_ref` int(11) NOT NULL
)

CREATE TABLE `teachers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(100) NOT NULL,
  `last_name` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
)

class_teachers는 중간 테이블입니다. 이 데이터베이스는 한 학급에 여러 명의 교사가 있어야합니다. 예를 들어 체육 수업에는 남학생과 여학생을위한 별도의 교사가있을 수 있습니다. 쿼리에는 교사 이름, 수업 이름 및 수업 시간이 포함 된 수업 목록이 표시되어야합니다.

클래스 테이블

id  name     hours
1   science     3
2   math        5

교사 테이블

id  first_name  last_name
1   Ronald      Manlapao
2   hello       goodbye
3   elise       elise
4   me          me

class_teachers 테이블

class_ref   teachers_ref
2                   2
1                   1

1                   2

시도

select c.name as classname, c.hours as hours, t.first_name as teacherFirstName, t.last_name as teacherLastName 
from teachers t, class c
left join class_teachers cl on (c.id = cl.class_ref and t.id = cl.teachers_ref)

하지만 여전히 같은 오류

섹션을 포함하도록 class_teachers 테이블을 class_teachers_section으로 업데이트했습니다. 아이디어는 수업이 다른 교사와 다른 섹션을 포함 할 수 있다는 것입니다. 예를 들어 1 학년 체육 수업은 모든 섹션을 포함 할 수 있습니다 (3 섹션으로 가장 할 수 있음) ... 남학생 교사는 여학생과 다를 수 있습니다.

select class.name as classname, 
   class.hours as hours, 
   teachers.first_name as teacherFirstName, 
   teachers.last_name as teacherLastName,
   section.name as sectionName
 from class_teachers_section cls 
 left join class on class.id = cls.class_ref  
 left join teachers on teachers.id = cls.teachers_ref
 left join section on section.id = cls.section_ref
 where section.name = 'grade 1'
Jaugar Chang

기본 테이블을 class_teachers로 변경하는 것이 좋으며 교사와 클래스 테이블을 참조해야합니다.

select class.name as classname, 
       class.hours as hours, 
       teachers.first_name as teacherFirstName, 
       teachers.last_name as teacherLastName 
from class_teachers cl 
left join class on class.id = cl.class_ref  
left join teachers on teachers.id = cl.teachers_ref

문제는 from a,b이전 left join사용 하고 left joinon 절은을 찾을 수 b.id있으므로 수업과 교사를 교환하면 다른 오류가 발생합니다.

선생님과 수업을 먼저 교차 참여시키고 싶다면 joininsead of ,. 조인 조건이 있으므로 또는
사용하십시오 .left joinfull outer join

select class.name as classname,
       class.hours as hours, 
       teachers.first_name as teacherFirstName, 
       teachers.last_name as teacherLastName 
from teachers
join class 
left join class_teachers cl 
     on  class.id = cl.class_ref  
     and teachers.id = cl.teachers_ref

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

쿼리 왼쪽 조인 mysql

분류에서Dev

왼쪽 조인의 MySQL 쿼리 문제

분류에서Dev

왼쪽 조인 선택

분류에서Dev

5 개의 왼쪽 조인으로 MySQL 쿼리 속도 향상

분류에서Dev

선택에서 왼쪽 조인 또는 선택 (SQL-쿼리 속도)

분류에서Dev

MySQL에서 LIMIT를 사용한 왼쪽 조인 하위 선택

분류에서Dev

mysql 선택, 계산, 왼쪽 조인 및 표시

분류에서Dev

linq 및 조건으로 선택하는 왼쪽 조인

분류에서Dev

MySQL 왼쪽 조인 하위 쿼리 null 조인

분류에서Dev

느린 MySQL 쿼리 : 왼쪽 조인이있는 각 행에 대해 조건부 선택 카운트를 수행하지 않는 방법이 있습니까?

분류에서Dev

mysql-왼쪽 조인 쿼리로 레코드가 존재하는지 확인

분류에서Dev

조건이 작동하지 않는 왼쪽 조인의 MySQL 선택 카운트

분류에서Dev

Yii 왼쪽 조인 쿼리

분류에서Dev

왼쪽 조인이있는 Optimaze Mysql 쿼리 그룹 연결

분류에서Dev

왼쪽 조인의 where 절에서 MySQL 쿼리 오류

분류에서Dev

왼쪽 조인 쿼리를 제한하는 MYSQL

분류에서Dev

왼쪽 조인을 사용한 MySql 다중 테이블 쿼리

분류에서Dev

mysql 왼쪽 조인은 왼쪽 테이블에서 가장 높은 항목 만 선택합니다.

분류에서Dev

MySQL : 다중 선택 및 조인 쿼리

분류에서Dev

MySQL 리팩터링 선택 하위 쿼리를 조인으로

분류에서Dev

조건 쿼리 수정시 MySQL 왼쪽 조인 저장소 이전 값

분류에서Dev

두 테이블에서 왼쪽 조인 계산으로 개수 선택

분류에서Dev

동일한 쿼리에서 두 테이블을 조인하는 MySQL. 내부 조인 또는 왼쪽 조인?

분류에서Dev

ExtJS checkcolumn 그리드-왼쪽 열 확인, 오른쪽 열 선택 해제

분류에서Dev

mysql 왼쪽 조인, 개수로 그룹화

분류에서Dev

관계 1 : X로 MySQL 왼쪽 조인의 합계

분류에서Dev

Hive 중첩 쿼리 왼쪽 조인

분류에서Dev

왼쪽 조인 대 하위 쿼리

분류에서Dev

Laravel Eloquent 왼쪽 조인 쿼리

Related 관련 기사

  1. 1

    쿼리 왼쪽 조인 mysql

  2. 2

    왼쪽 조인의 MySQL 쿼리 문제

  3. 3

    왼쪽 조인 선택

  4. 4

    5 개의 왼쪽 조인으로 MySQL 쿼리 속도 향상

  5. 5

    선택에서 왼쪽 조인 또는 선택 (SQL-쿼리 속도)

  6. 6

    MySQL에서 LIMIT를 사용한 왼쪽 조인 하위 선택

  7. 7

    mysql 선택, 계산, 왼쪽 조인 및 표시

  8. 8

    linq 및 조건으로 선택하는 왼쪽 조인

  9. 9

    MySQL 왼쪽 조인 하위 쿼리 null 조인

  10. 10

    느린 MySQL 쿼리 : 왼쪽 조인이있는 각 행에 대해 조건부 선택 카운트를 수행하지 않는 방법이 있습니까?

  11. 11

    mysql-왼쪽 조인 쿼리로 레코드가 존재하는지 확인

  12. 12

    조건이 작동하지 않는 왼쪽 조인의 MySQL 선택 카운트

  13. 13

    Yii 왼쪽 조인 쿼리

  14. 14

    왼쪽 조인이있는 Optimaze Mysql 쿼리 그룹 연결

  15. 15

    왼쪽 조인의 where 절에서 MySQL 쿼리 오류

  16. 16

    왼쪽 조인 쿼리를 제한하는 MYSQL

  17. 17

    왼쪽 조인을 사용한 MySql 다중 테이블 쿼리

  18. 18

    mysql 왼쪽 조인은 왼쪽 테이블에서 가장 높은 항목 만 선택합니다.

  19. 19

    MySQL : 다중 선택 및 조인 쿼리

  20. 20

    MySQL 리팩터링 선택 하위 쿼리를 조인으로

  21. 21

    조건 쿼리 수정시 MySQL 왼쪽 조인 저장소 이전 값

  22. 22

    두 테이블에서 왼쪽 조인 계산으로 개수 선택

  23. 23

    동일한 쿼리에서 두 테이블을 조인하는 MySQL. 내부 조인 또는 왼쪽 조인?

  24. 24

    ExtJS checkcolumn 그리드-왼쪽 열 확인, 오른쪽 열 선택 해제

  25. 25

    mysql 왼쪽 조인, 개수로 그룹화

  26. 26

    관계 1 : X로 MySQL 왼쪽 조인의 합계

  27. 27

    Hive 중첩 쿼리 왼쪽 조인

  28. 28

    왼쪽 조인 대 하위 쿼리

  29. 29

    Laravel Eloquent 왼쪽 조인 쿼리

뜨겁다태그

보관