'올바른'테이블에서 선택된 모든 필드는 분명히 공백으로 반환된다는 점만 제외하면 예상대로 작동하는 조인이 있습니다.MySQL 조인은 하나의 테이블에서 선택할 수 없습니다.
SELECT score.recipient, score.amount, u.* FROM score
LEFT JOIN `users` AS u ON score.recipient = u.id AND u.team_id = ?
WHERE UNIX_TIMESTAMP(score.date) > ?
실제로 전체 users 테이블이 필요하지는 않지만 users.email 만 필요하지만 필드는 작동하지 않습니다. 결과 세트는 다음과 같습니다 (샘플).
[0] => stdClass Object ([recipient] => 1 [amount] => 1 [id] => [fname] => [lname] => [nickname] => [email] => [phone] => [reg_key] =>)
[1] => stdClass Object ([recipient] => 103 [amount] => -1 [id] => [fname] => [lname] => [nickname] => [email] => [phone] => [reg_key] =>)
실제로 나열된 모든 필드가 채워집니다.
도움이 될 것입니다. 나는 잃어 버렸다.
PHP 측에서 SQL 실행을 위해 무엇을 사용하고 있습니까? PHP 문제처럼 보입니다. MySQL을위한 것이 아닙니다. 오, 그리고 JOIN이 아닌 LEFT join이 필요하신가요? 그것은 역시 문제가 될 수 있습니다. – Aurimas
흥미 롭다 - 나는 Codeigniter와 그 DB 클래스를 사용하고있다. 그러나 PHP 자체는 다소 단순하다.'$ query = $ this-> db-> query ($ sql, array ($ var1, $ var2))' . 결과 세트는 공 i 필드 이외에는 완전히 정확합니다. – Gavin
오, JOIN 유형과 관련하여 - 확실하지 않습니다. 하지만 JOIN으로 변경하면 결과 세트가 비어 있습니다. – Gavin