قم بتغيير استعلام حدد مع شرط الاستعلام للاختيار واحد فقط في الاستعلام

StackOverflow https://stackoverflow.com/questions/20353260

  •  25-08-2022
  •  | 
  •  

سؤال

حسنًا ، كيف يمكنني تغيير هذا:

select * from quallev_qualificationlevel quallev
where quallev.quallev_qual_id in (/* */ select qual.qual_id from qual_qualification qual, qde_qualificationdescription qde
where (qual.qual_id = qde.qde_qual_id)
and qual.qual_startdate <= '2013-12-02'
and qual.qual_enddate >= '2013-12-02'
and qde.qde_namepurpose_cd_id = 7294
and qde.qde_langauge_id = 2
and qde.qde_startdate <= '2013-12-02'
and qde.qde_enddate >= '2013-12-02'
order by qual.qual_id,
        qual_code /* */)
and quallev.quallev_startdate <= '2013-12-02'
and quallev.quallev_enddate >= '2013-12-02'

لمحدد واحد فقط؟

أفترض أنني بحاجة إلى استخدام شكل من أشكال الانضمام الداخلي ، فقط لست متأكدًا من WT وكيف

هل كانت مفيدة؟

المحلول

لاستبدالك in بند ، يمكنك القيام به

inner join qual_qualification qual on qual.qual_id = quallev.quallev_qual_id
inner join qde_qualificationdescription qde on qual.qual_id = qde.qde_qual_id

لكن inner join ليس هو نفسه in بند. لذلك يجب ألا تستخدم بعد الآن select *, ، ولكن على الأقل select quallev.*

وإذا استرداد الانضمام أكثر من 1 qual_qualification لكل quallev_qualificationlevel, ، ستحصل على نتائج مكررة ، لذلك قد تحتاج إلى ملف distinct بند.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top