2017-07-14 6 views
0
SELECT `apt`.`id` as `aprtid`, 
    `apt`.`apt_no` as `aptno`, 
    `apt`.`core` as `aptcore`, 
    `apt`.`floor` as `aptfloor`, 
    `apt`.`bd_code` as `aptbuld`, 
    `bd`.`building_name` as `buldname`, 
    `rs`.`resident_name` as `rsdntname`, 
    `rs`.`resident_email` as `rsdntemail`, 
    `rs`.`resident_phone` as `rsdntphone`, 
    `rs`.`resident_pic` as `rsdntpic` 
FROM `apartments` as `apt` 
INNER JOIN `buildings` as `bd` 
    ON `bd`.`bd_code` = `apt`.`bd_code` 
INNER JOIN `residents` as `rs` 
    ON `rs`.`apartment_no` = `apt`.`apt_no` 
WHERE `apt`.`id` = '8' 
ORDER BY `apt`.`id` DESC 

を返すことにして、ケースに参加します。 beacuse私は居住者とアパートにマッチしました。私は同じアパートはありませんが、どちらも別の建物を持っていますが、結果として私はこのクエリで間違っています。なぜ結果を得ているのだろうと思うし、状態がうまくいかないのですが。複数のは、私はそれが常駐し、マンションの場合、そのは、一致していないと参加何とかacurateが、中を返すこのクエリを使用する場合、間違った結果に

答えて

0

おそらく、お客様のjoinの条件が完了していない可能性があります。私が推測する:

FROM `apartments` as `apt` INNER JOIN 
    `buildings` as `bd` 
    ON `bd`.`bd_code` = `apt`.`bd_code` INNER JOIN 
    `residents` as `rs` 
    ON `rs`.`apartment_no` = `apt`.`apt_no` AND 
     rs.bd_code = apt.bd_code 

または:

FROM `apartments` as `apt` INNER JOIN 
    `buildings` as `bd` 
    ON `bd`.`bd_code` = `apt`.`bd_code` INNER JOIN 
    `residents` as `rs` 
    ON `rs`.`apt_id` = `apt`.`apt_id` 
+0

をuは私のコードを更新してくださいできますか? – Arushi

+0

と条件付きマルチ結合を使用したクエリが必要です – Arushi

関連する問題