6
SELECT * FROM `image_appreciations`
WHERE `image_id` IN(SELECT `id` FROM `images` WHERE `user_id` = '1')

私の現在のクエリです、それはゼロの結果を返します

SELECT `id` FROM `images` WHERE `user_id` = '1'

サブクエリであると、約8つのIDが返され、そのうちの2つが

SELECT * FROM `image_appreciations`
WHERE `image_id` IN(77,89)

そして、それはうまくいきます。しかし、すべて一緒にそれは失敗します。私は何が間違っているのですか?

4

2 に答える 2

6

これは、を使用して実行できますJOIN。以下は、暗黙の短縮構文を使用した例です。

SELECT * FROM image_appreciations a, images i
WHERE a.image_id = i.id AND i.user_id = 1
于 2012-04-11T20:25:25.807 に答える
4

このようなサブクエリは機能するはずですが、奇妙なことにそうではありません。JOINとにかく、これを解決するためにを使用してみることができます。

SELECT * FROM `image_appreciations`
JOIN `images` ON `image_id` = `id`
WHERE `images`.`user_id` = '1'
于 2012-04-11T20:25:13.317 に答える