View Full Version : استفاده از خروجی یه Select تو Select دیگر
federrer
یک شنبه 28 مرداد 1386, 19:23 عصر
سلام
جدول T1 دو تا فیلد به اسمهای id و name1 داره .
جدول T2 هم دو تا فیلد به اسمهای id و name2 داره .
فرض کنید دو تا دستور Select به این شکل داریم :
strsql1 = "Select name1 From T1 where id =1 ";
strsql2= "Select name2 From T2 where id =1 ";
خروجی هر دستور یه اسم است .
یه جدول دیگه داریم به اسم T که دو تا فیلد n1 و n2 داره و
می خوایم از خروجی دستورهای قبل استفاده کنیم :
ُ
strsql = "Select * From T where n1 ="khorooji strsql1 " AND n2="khorooji strsql2" ";
دستور بالا رو چطور باید بنویسم ؟؟؟؟
mzjahromi
یک شنبه 28 مرداد 1386, 19:47 عصر
Select * From(
Select ... From T1
union all
Select ... from T2
) as tbl1
where name=...
federrer
یک شنبه 28 مرداد 1386, 21:10 عصر
مرسی .
دستوری که نوشتید درسته
من صورت سوال رو یه کم ساده گفتم که حداقل مطمئن شم باید از Union استفاده کنم .
مهندس جون حقیقتش صورت سوال اینجوریه که دستوراتی که تو متغیر های Strsql1 و Strsql2 ریخته میشه تحت شرایط مختلف فرق میکنه
توضیح:
دستور اول رو در نظر بگیرید:
strsql1 = "Select name1 From T1 where id =1 ";
یه کنترل به نام ComboBox1 هست که وقتی گزینه اولش انتخاب میشه Select بالا رو میریزه تو متغیر strsql1 .
حالا اگه گزینه دوم انتخاب بشه اونوقت :
strsql1 = "Select name1 From T1 where id =2 ";
و اگر گزینه سوم انتخاب بشه:
strsql1 = "Select name1 From T1 where id =3 ";
پس با انتخاب هر کدوم از گزینه های ComboBox1 یه دستور Select خاص داخل متغیر Strsql1 ریخته میشه . که خروجیهاشون هم طبیعتا با هم فرق داره
دقیقا برای دستور دوم هم همین داستان تکرار میشه . یعنی یه کنترل ComboBox2 هست که با انتخاب گزینه های مختلفش ، دستورات Select متفاوتی داخل متغیر Strsql2 ریخته میشه !!!!!!!!!
دستوری که نوشتید درسته ولی
اگه میشه طوری تغییرش بدید که بجای نوشتن مستقیم "Select .... From T1" و "Select ... From T2" ، مقدار متغیر های Strsql1 و Strsql2 بطور کلی قرار بگیره که اگه دستورهایی شبیه دستورات فعلی هم تو Strsql1 و Strsql2 بود ، جواب بده
با تشکر
AminSobati
یک شنبه 28 مرداد 1386, 21:23 عصر
ظاهرا باید برین سراغ Dynamic TSQL
DECLARE @x VARCHAR(100)
SET @x='MyTable'
EXEC ('SELECT * FROM '+@x)
federrer
یک شنبه 28 مرداد 1386, 22:27 عصر
توضیحاتم رو تو پست 2 کامل کردم
AminSobati عزیز من هیچی از کد شما نفهمیدم. یه توضیح راجع بش میدید ؟؟
AminSobati
دوشنبه 29 مرداد 1386, 11:23 صبح
http://www.sommarskog.se/dyn-search.html
federrer
دوشنبه 29 مرداد 1386, 21:50 عصر
مرسی . مشکلم رو یه جوری حل کردم D:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.