我有一个包含三个表的表结构:profiles、profile_subrubriek 和 rubrieken。我使用以下查询查询数据:
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 行。这是不正确的。如果我取出 Inner Join 并且只在 WHERE clausule 中合并 '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'
我究竟做错了什么?
谢谢!