PDA

View Full Version : مشكل با select تودرتو



s.k711
چهارشنبه 06 آذر 1387, 10:51 صبح
سلام دوستان.
قبل از اينكه اين تاپيك را ايجاد كنم در تالار در رابطه با موضوع سوالم جستجو كردم اما به نتيجه دلخواهم نرسيدم.
من دو table دارم كه يك فيلد بانام oid در هردو مشترك است ( در ضمن table هايم هيچ ارتباطي با هم ندارند) ولي oid در يكي كليد اصلي است و در ديگري نه.
oid : در tabel1 كليد اصلي(int)
oid : در tabel2 فيلد معمولي(nvarchar)
من ميخوام oid جدول اوليم را انتخاب كنم به شرطي كه در جدول دوم فيلدr_b ( كه يكي از فيلدهاي جدول دوم است) برابر با "رفت" باشد.
يك دستور نوشتم اما جواب نگرفتم.


select oid from tabel1 where oid=(select oid from tabel2 where r_b='رفت')

hassanf
چهارشنبه 06 آذر 1387, 11:04 صبح
در ضمن table هايم هيچ ارتباطي با هم ندارند


1.وقتی دو جدول هیچ رابطه ای با هم ندارند , چگونه بر اساس شرطی در جدول اول رکوردی از جدول دوم انتخاب کنید!
2. راه درست برای اینکار اینست که Oid ها int باشند , یک رابطه 1 به چند بین دو جدول برقرار کنید و :


select oid
from tabel1
where oid In (select oid
from tabel2
where r_b='رفت')

s_ahmadneya
چهارشنبه 06 آذر 1387, 11:29 صبح
اگه oidهر دو از یک نوع باشند جواب بصورت زیر است


select tabel1.oid form tabel1 inner join tabel2 on tabel1 .oid=tabel2.oid where tabel2.r_b='رفت'

masoudcg1
چهارشنبه 06 آذر 1387, 17:10 عصر
select oid from tb1 where oid in (select convert(int,oid) from tb2)--a