0
リターンを登録しよう私は2つのテーブルました:LEFTでSELECT NULL値
記事:
id | id_author | content | year
1 | 1 | hello | 2015
2 | 1 | world | 2016
3 | 2 | hi | 2016
お気に入り:
id | id_author | id_post | year
1 | 3 | 2 | 2016
そして私はSELECT
をしたいがposts
データをfavorites
でを使用して取得する。だから、私はやった:( 私はid_authorを持つユーザーでログインしています考慮して= 3)
SELECT p.id, p.id_author, p.content, p.year, f.id_post
FROM favorites f
LEFT JOIN posts p
ON f.id_post = p.id
WHERE f.id_author = 3
ORDER BY f.id
DESC
だから、私がやった:
if(count($sql) > 0) {
var_dump($sql);
}
(
$sql
が上記のクエリに等しいです)
しかし、出力は次のようになります。
array(1) {
[0]=>
array(5) {
["id"]=>
NULL
["id_author"]=>
NULL
["content"]=>
NULL
["year"]=>
NULL
["id_post"]=>
string(1) "2"
}
}
なぜ戻っているNULL
? id_author = 3
:WHERE
節の述語で使用されるフィールドに関するあいまいさがあるよう
SELECT p.id, p.id_author, p.content, p.year, f.id_post
FROM favorites f
LEFT JOIN posts p
ON f.id_post = p.id
WHERE id_author = 3
ORDER BY f.id DESC
:
ごめんなさい、私は私の質問を編集していますが、実際には何の曖昧さが存在しない:だから、あなたはおそらく使用する必要があります。 – Igor
@Igorこの場合、plsは投稿を削除します。 – Shadow