0
私はほとんどそれを行っていますが、重要なことを変更する必要がありますが、まだ修復する考えはありません。私のSQLの例がありますWHERE IN句で値が存在しないことを確認してください。
SELECT post.id,post.name as post_name,
(SELECT users.login FROM users WHERE post.creator = users.id) creator,
(SELECT COUNT(*) FROM recommends WHERE recommends.idea_id = post.id) recommends,
(SELECT COUNT(*) FROM comments WHERE comments.idea_id = post.id) comments,
GROUP_CONCAT(tags.tag SEPARATOR ',') as tags
FROM posts
LEFT JOIN tags
ON post.id = tags.idea_id
WHERE post.name IN
(
SELECT post.name FROM posts
JOIN tags ON post.id = post.idea_id
WHERE tags.tag IN ('X','Y','Z')
)
GROUP BY post.name
どうしたの?私たちのX、Y、またはZが存在しない場合、クエリはまだ動作しています。私は修理する方法を知らない、私はいくつかのNOT EXISTS句を試してみましたが、それは動作しません。 ありがとうございます。
?あなたの質問は完璧な意味を持ち、タグの1つを持っている投稿を探します。ただし、質問は複雑すぎます。 –
好きな場合は、この簡単な2ステップのアクション・コースを実行することを検討してください。1.まだ実行していない場合は、適切なCREATEおよびINSERTステートメント(および/またはsqlfiddle)を提供して、問題をより簡単に再現できるようにします。 2.まだ実行していない場合は、手順1で提供された情報に対応する結果セットを指定します。 – Strawberry
はい、ただし、( 'X'、 'Y'、 'Z')のタグ投稿タグから存在しない場合は、残りの部分が存在するにもかかわらず、結果はfalseです。 –