1
CREATE VIEW `report_central_class` AS
SELECT a.*,b.course_title,b.outline_id,c.catid,d.main_title,
      (select comp_name 
       from lang_company_details 
       where comp_id = (select comp_id 
                        from lang_company_details_courses 
                        where course_id=a.course_id)
       ) as company, 
       (select concat(fname,' ',lname) 
        from lang_course_instructors 
        where slno=a.class_inst_id) as instname 
FROM `lang_course_details_session` as a, 
              `lang_course_details` as b,
              `lang_course_outline` as c,  
              `lang_course_category` as d 
where a.`class_status` != '' and 
      a.course_id=b.course_id and 
      c.outline_id=b.outline_id and 
      c.catid=d.slno;

create view ステートメントを使用せずにこのクエリを実行すると、データベースから適切なレコードが返されます。しかし、ビューから同じものを実行しようとすると、サブクエリが複数の行を返すことを示しています。

この問題はサブクエリにあります:

( select comp_name 
  from lang_company_details 
  where comp_id = (
    select comp_id 
    from lang_company_details_courses 
    where course_id=a.course_id
  )
) as company 

このクエリを削除すると、すべてが正常に機能しますが、このクエリではビューが機能しません。

4

0 に答える 0