2 개의 테이블이 있습니다. 회원들과 팀왜이 복잡한 MySQL 쿼리가 작동하지 않습니까?
회원 테이블 MEMBERID, 이름, 성
(이름 및 성이 전체 텍스트 인덱스입니다)
팀은 테이블 team_id, member1ID, member2ID
여기 내 쿼리
$sql = "SELECT a.* ";
$sql .= "FROM teams a WHERE ";
$sql .= "a.member1ID IN (SELECT b.memberID FROM members b ";
$sql .= "WHERE MATCH(b.firstName, b.lastName) AGAINST('$q' IN BOOLEAN MODE)) ";
$sql .= "OR a.member2ID IN (SELECT b.memberID FROM members b ";
$sql .= "WHERE MATCH(b.firstName, b.lastName) AGAINST('$q' IN BOOLEAN MODE)) ";
if($year)
$sql .= "AND a.team_y = $year ";
$sql .= "ORDER BY a.team_num ASC ";
if($limit)
$sql .= "$limit";
이 쿼리는 비슷하지만 아직 작동하지 않습니다.
"$ q"팀이 모두 나와있는 쿼리를 만들려고합니다.
Ex. $ q = doe, 미상 인 모든 팀을 보여주십시오.
이 쿼리는 팀을 출력해야합니다.
"도움이 필요합니다"는 질문이 아니기 때문에 질문 제목을 다시 말하십시오. –
쿼리를 이해하기 어렵습니다. 우리에게 완전한 쿼리를 보여줍니다 - echo $ sql; –
일반적으로 팀, 구성원, 팀원 등 3 개의 테이블이 있습니다. 하지만 당신이 2 테이블을 사용하기 때문에 당신이 쿼리하는 방식을 바꿀 것을 제안 할 것입니다. 그건 그렇고 $ 한계 전에 LIMIT 단어를 잊어 버렸습니다 – frail