1

次のサブクエリを作成しようとすると、エラーが発生します - オペランドには 1 列を含める必要があります。

select study_aid_id from study_aids_readers where study_aid_id 
in
 (
select s.id, s.title , p.name , s.type 
from study_aids s, profiles p 
where s.author_id = p.user_id and p.country_id = '30' and date(s.created_at) >= '2015-01-01' )

study_aids テーブルに存在する study_aids_readers テーブルから ID のリストを取得し、プロファイル テーブルから学習補助を作成したプロファイルと ID を比較しようとしています。場合によっては、私を助けていただくか、さらに詳しい情報をお尋ねください。

4

1 に答える 1

1

MySQLのリストにinは 1 つの列のみを含めることができます。

おそらく、次のようなものが必要です。

select study_aid_id
from study_aids_readers
where study_aid_id in (select s.id
                       from study_aids s join
                            profiles p 
                            on s.author_id = p.user_id 
                       where p.country_id = '30' and date(s.created_at) >= '2015-01-01'
                      );

joinまた、適切な明示的な構文の使用にも注意してください。

于 2015-09-10T16:33:46.163 に答える