理由がわかりません:
SELECT `Title`.`Title`, `FirstName`, `LastName`, `Address1`, `Address2`, `Town`.`Town`, `County`.`County`, `PostalCode`, `Phone1`, `Solo`
FROM `Person`
JOIN `Title` ON `Person`.`Title` = `Title`.`id`
JOIN `Town` ON `Person`.`Town` = `Town`.`id`
JOIN `County` ON `Person`.`County` = `County`.`id`
WHERE `Person`.`Solo`='1'
ORDER BY `LastName` ASC;
0 の結果を返します (そうすべきではありません。少なくとも 5 つの結果がSolo
='1' になります)。
そして、それを変更すると、すべての JOINS を取り出すことができます:
SELECT `Title`, `FirstName`, `LastName`, `Address1`, `Address2`, `Town`, `County`, `PostalCode`, `Phone1`, `Solo`
FROM `Person`
WHERE `Person`.`Solo`='1'
ORDER BY `LastName` ASC;
私は結果を得ますか?を取り出すように変更すると、WHERE Person.Solo='1'
結果も得られますが、2つしかありません。すべての行を返す必要があるのはどこですか? 誰か説明できますか?
:)
注: Solo は tinyint です。すべてのレコードで 0 または 1 に等しくなります!