PDA

View Full Version : select با یک شرط خاص



mrs Izadi
چهارشنبه 29 آبان 1387, 11:03 صبح
با سلام
من در برنامه ای که برای آزمایشگاه نوشته ام لازم دارم که نسخه هایی که یک مجموعه آزمایش را دارند select کنم این مجموعه آزمایش از یک subquery می آید . این نسخ میتوانند آزمایشهای دیگری هم داشته باشند ولی حتما باید شامل کلیه آزمایشهای این مجموعه باشند.
لطفا من را راهنمایی کنید چگونه میتوانم شرط این select را بنویسم.

dzmode
چهارشنبه 29 آبان 1387, 11:16 صبح
با سلام
فكر كنم شما بايد دو جدول در نظر بگيريد ، يك جدول شامل كلييه اطلاعات نسخه ها باشد (كليد اصلي آن شماره نسخه است) و جدول ديگر حاوي اطلاعاتي راجع به آن مجموعه آزمايش باشد كه subguery را روي جدول دوم انجام دهيد).
به اين ترتيب از دستور
select from where in (subquery)

mrs Izadi
یک شنبه 03 آذر 1387, 10:08 صبح
کسی نبود کمک کنه

ehsaniran59
یک شنبه 03 آذر 1387, 11:22 صبح
توضیح شما کافی نیست ، حالت کلی همونیه که در مطلب بالا گفته شده . بیشتر توضیح بدید !

mrs Izadi
یک شنبه 03 آذر 1387, 12:23 عصر
من تصمیم دارم نسخی را انتخاب کنم که شامل یک مجموعه خاص از آزمایشها باشد فرض کنید 4 آزمایش که نتیجه یک subQuery باشد من میخواهم نسخی را انتخاب کنم که شامل هر 4 آزمایش باشد نه فقط بعضی از آنها . تا جایی که من میدانم دستور in درصورتی که حداقل یکی از آنها در مجموعه باشد مقدار true را برمیگرداند. در ضمن من قصد دارم دو مجموعه آزمایش را باهم مقایسه کنم .
امیدوارم توضیحاتم گویا باشد و بتوانید کمکم کنید.

AminSobati
یک شنبه 03 آذر 1387, 23:54 عصر
راههای زیادی وجود داره:
فرضا آزمایشهای مورد نظر رو میتونین در یک جدول موقتی قرار بدین، نسخه ها رو با این جدول Join کنین. نسخه هایی که مثلا 4 بار تکرار میشن، یعنی اون 4 آزمایش رو دارند

mrs Izadi
دوشنبه 04 آذر 1387, 09:41 صبح
ممکن است بفرمایید تعداد دفعات تکرار یک نسخه رو چطوری بدست بیارم

AminSobati
دوشنبه 04 آذر 1387, 10:53 صبح
به کمک count و group by روی آی-دی نسخه

masoudcg1
دوشنبه 04 آذر 1387, 19:48 عصر
با نوشتن این sp
create proc sp_n
as
if (select count(*) from azmayesh)=4
begin
select * from naskh where id in(select id from azmayesh where yourwhere)
end