프로필, profile_subrubriek 및 rubrieken의 세 테이블이있는 테이블 구조가 있습니다. 다음 쿼리로 데이터를 쿼리합니다.내부 조인 MYSQL 쿼리가 작동하지 않음
SELECT profiles.hoofdrubriek, profiles.plaats
, profiles.bedrijfsnaam, profiles.gemeente, profiles.bedrijfsslogan
, profiles.straatnaam, profiles.huisnummer, profiles.postcode
, profiles.telefoonnummer, profiles.fax, profiles.email
, profiles.website, profiles.bedrijfslogo
FROM profiles INNER JOIN profile_subrubriek ON profiles.ID=profile_subrubriek.profile_id
INNER JOIN rubrieken ON profile_subrubriek.subrubriek_id=rubrieken.ID
where (
rubrieken.rubriek = 'Aannemersbedrijven'
OR
profiles.hoofdrubriek = 'Aannemersbedrijven')
AND profiles.gemeente = 'Dongen'
결과가 0입니다. 그건 맞지 않아. 내부 조인을 꺼내고 WHERE 절에 'hoofdrubriek'열을 넣으면 결과적으로 약 25 줄을 얻습니다. 맞습니다. 따라서이 쿼리 (위의 수정 된 버전)는 실제로 작동합니다.
SELECT profiles.hoofdrubriek, profiles.plaats, profiles.bedrijfsnaam
, profiles.gemeente, profiles.bedrijfsslogan, profiles.straatnaam
, profiles.huisnummer, profiles.postcode, profiles.telefoonnummer
, profiles.fax, profiles.email, profiles.website, profiles.bedrijfslogo
FROM profiles where (profiles.hoofdrubriek = 'Aannemersbedrijven')
AND profiles.gemeente = 'Dongen'
무엇이 잘못 되었나요?
감사합니다.
여러 줄로 귀하의 쿼리/코드를 깰 - 그들은 읽기 어렵습니다 –
나는 당신이 당신의 데이터를 확인하는 것이 좋습니다. –
데이터가 다른 두 테이블의 profiles.hoofdrubriek = 'Aannemersbedrijven'과 일치 할 레코드가 없음을 제안합니다. 아마도 왼쪽의 조인을 사용하여 되돌아 오는 것을 확인하십시오. – Kickstart