내 데이터베이스에 3 개의 테이블이 있습니다.
role_id, id, id
는 해당 테이블의 기본 키입니다.
난 필요해 :-
여기서 tbl_tickets_replies
의 ticket_id
= $ ticket_id
가 매개 변수로 제공됩니다.
내 모델 기능은 다음과 같습니다.
function fetch_comments($ticket_id){
$this->db->select('tbl_tickets_replies.comments,tbl_users.username,tbl_roles.role_name');
$this->db->where('tbl_tickets_replies.ticket_id',$ticket_id);
$this->db->from('tbl_tickets_replies');
$this->db->join('tbl_users','tbl_users.id = tbl_tickets_replies.user_id');
$this->db->join('tbl_roles','tbl_roles.role_id=tbl_tickets_replies.role_id');
$comments = $this->db->get('tbl_tickets_replies');
return $comments;
}
이것은 데이터베이스 오류를 보여줍니다. 즉, 잘못된 쿼리를 수행하고 있습니다. 3 개의 테이블을 조인하여 3 개의 다른 테이블에서 데이터를 가져 오는 방법을 묻고 싶습니다.
이 오류는 다음을 표시합니다.
데이터베이스 오류가 발생했습니다.
오류 번호 : 1066고유하지 않은 테이블 / 별칭 : 'tbl_tickets_replies'
SELECT
tbl_tickets_replies
.comments
,tbl_users
.username
,tbl_roles
.role_name
FROM (tbl_tickets_replies
,tbl_tickets_replies
) JOINtbl_users
ONtbl_users
.id
=tbl_tickets_replies
.user_id
JOINtbl_roles
ONtbl_roles
.role_id
=tbl_tickets_replies
.role_id
WHEREtbl_tickets_replies
.ticket_id
= '6'파일 이름 : C : \ wamp \ www \ local.helpdesk.com \ bonfire \ codeigniter \ database \ DB_driver.php
라인 번호 : 330`
해결 방법
tbl_tickets_replies
를 두 번 참조하고 있습니다.
이 시도:
function fetch_comments($ticket_id){
$this->db->select('tbl_tickets_replies.comments,
tbl_users.username,tbl_roles.role_name');
$this->db->where('tbl_tickets_replies.ticket_id',$ticket_id);
$this->db->join('tbl_users','tbl_users.id = tbl_tickets_replies.user_id');
$this->db->join('tbl_roles','tbl_roles.role_id=tbl_tickets_replies.role_id');
return $this->db->get('tbl_tickets_replies');
}
참조 페이지 https://stackoverflow.com/questions/11524752
'MySql' 카테고리의 다른 글
MySQL DateTime 열을 시간이 아닌 날짜 만과 비교하는 방법 (0) | 2021.02.03 |
---|---|
MySQL 세션-쿼리를 종료하여 테이블 잠금 해제 (0) | 2021.02.03 |
MySQL MySql Workbench에서 저장 프로 시저 테스트 (0) | 2021.02.03 |
MySQL 기존 mysql 트리거를 생성 한 후 수정할 수 있습니까? (0) | 2021.02.03 |
MySQL XML 및 XSD를 사용하여 채워진 데이터베이스 만들기 (0) | 2021.02.03 |
댓글