PDA

View Full Version : سوال: کوئری تو در تو



nimakaiedi
یک شنبه 06 تیر 1389, 12:37 عصر
سلام
فرض کنید 2 تا جدول داریم با فیلدهای زیر









فیلدهای * دار کلید هستند
(نام جدول سمت چپ=s نام جدول سمت راست=k)
مقادیری که در فیلدهای tel1وtel2 در جدول s هستند از فیلد tel در جدول k گرفته می شوند، به عبارت دیگر مقادیر جدول k یک سری ثوابت هستند)

می خوام برای این دو جدول یک کوئری بسازم اگر مثلا شماره 3 داخل یکی از فیلدهای tel1 یا tel2 بود آنها را بر گرداند
خودم فکر می کنم باید از کوئری تو در تو استفاده کنم،اما چجوری :متفکر:

اگر واضح نیست بگید تا بیشتر توضیح بدم
پیشاپیش ممنون

nimakaiedi
یک شنبه 06 تیر 1389, 12:48 عصر
آف تاپیک: will be truncated
جداول مشخص نیستن
جداول رو بصورت فارسی بنویس
مثلا:
---------
جدول 1:
--فیلد یک(کلید)
--فیلد 2 و...
--------
جدول 2:
--...

حق با شماست جداول رو به صورت عکس قرار دادم

Rejnev
یک شنبه 06 تیر 1389, 12:51 عصر
select * from s
where tel1=3 or tel2=3


شما بگید خروجی چه شکلی میخواید.
اگه میشه به صورت متن فارسی بنویسید یا عکس بزارید
چه فیلدهایی باید انتخاب بشن؟

nimakaiedi
یک شنبه 06 تیر 1389, 13:02 عصر
select * from s
where tel1=3 or tel2=3



شما بگید خروجی چه شکلی میخواید.



اگه میشه به صورت متن فارسی بنویسید یا عکس بزارید


چه فیلدهایی باید انتخاب بشن؟




همه فیلدهای این دو تا جدول رو می خوام

Rejnev
یک شنبه 06 تیر 1389, 13:10 عصر
select
s.*,k1.*,k2.*
from
s,k k1, k k2
where
s.te1=k1.tel and
s.tel2=k2.tel and
(s.te1=3 or s.tel2=3)

ببین کار میکنه؟
اول باید سلکت کنی
بعد یک فکری به حال جوین کنی و در نهایت جوین رو درست کنی که ضرب دکارتی نشه(در قسمت where) و شرط مورد نظرت رو هم تهش اعمال کن