ورود

View Full Version : ترکیب دو جدول



sajjadrad
دوشنبه 10 مرداد 1390, 14:39 عصر
سلام من دو تا جدول دارم که دو فیلد نام و تلفن تو هر دو جدول مشترکه.
الان میخوام با یه کوئری نام رو سرچ کنم و تلفن ها ظاهر بشه..مشکل اینجاست که فیلد نام جدول اول با فیلد نام جدول 2 جدا نشون داده میشه...درصورتی که میخوام هر دو در یک ستون نمایش داده بشه..
از سی شارپ استفاده میکنم.

مثلا دو جدول admin,customer
هر کدوم چند فیلد دارن اما فیلد های name و tel تو اون دوتا مشترکه.
a_name,a_tel
c_name,c_tel

میخوام که مثلا وقتی نام test جستجو شد هرچی test تو admin و customer هست در Datagrid نمایش داده بشه بصورتی که مقادیر نام یافت شده از جدول admin و customer در یک ستون و مقادیر تلفن admin و customer در یک ستون دیگه نمایش داده بشن.

مرسی

Kubuntu
دوشنبه 10 مرداد 1390, 15:49 عصر
من با grid view بلد نیستم اما می تونی از listview برای نمایش داده استفاده کنی. حاصل Select رو خودت تعیین می کنی که در کدوم ستون listView نشون بده. اینطوری ظاهر بهتری نسبت به gridviewداره!
تو gridView فکر نکم بشه دو فیلد جدول رو با هم ادغام کرد.
موفق باشی

sajjadrad
سه شنبه 11 مرداد 1390, 00:19 صبح
مرسی
خب یه توضیح میدید که چطوری میشه دیتاتیبل برگشتی رو تو listview ریخت؟
و چطوری این کاری که میخوام رو انجام بدم؟

مرسی

Galawij
سه شنبه 11 مرداد 1390, 10:04 صبح
اگر اینجا تالار T-Sql هست به این صورت مشکل شما حل می شود:



IFOBJECT_ID('dbo.TbResult','U')ISNOTNULL
DROPTABLE dbo.TbResult;
Select TBFirst.Name,TBFirst.tel
into TbResult
From TBFirst
Where TBFirst.name='a'
UNION
Select TbSecond.Name,TbSecond.tel
From TbSecond
Where TbSecond.name='a'
SELECTDISTINCT TbResult.name,STUFF
((SELECT', '+CONVERT(nvarchar, TbResult1.tel)
FROM TbResult TbResult1
WHERE TbResult1.[name] = TbResult.[name] FORXMLPATH('')), 1, 2,'')AS Tel_list
FROM TbResult
ORDERBY TbResult.name



توضیحات:
TbFirst معادل جدول اول شما و TbSecond معادل جدول دوم. برای تست این دستور من از نام کاربری a استفاده کردم شما می تونید ازطریق ارسال پارامتر در یک SP دستورات را عمومی تر کنید. نکته جالب این روش این هست که شما به هرتعداد که بخواید می تونید در جدول هاتون برای یک کاربر رکورد شماره تلفن اضافه کنید.
در ضمن فرض بر این هست که بین دو جدول شما هیچ ارتباطی وجود ندارد.
با تشکر از مقاله الحاق سطرهای جدول ( (http://www.30sharp.com/article/13/214/11/%d8%a7%d9%84%d8%ad%d8%a7%d9%82-%d8%b3%d8%b7%d8%b1%d9%87%d8%a7%db%8c-%d8%ac%d8%af%d9%88%d9%84-concatenating-rows.aspx)Concatenating Rows (http://www.30sharp.com/article/13/214/11/%d8%a7%d9%84%d8%ad%d8%a7%d9%82-%d8%b3%d8%b7%d8%b1%d9%87%d8%a7%db%8c-%d8%ac%d8%af%d9%88%d9%84-concatenating-rows.aspx)) (http://www.30sharp.com/article/13/214/11/%d8%a7%d9%84%d8%ad%d8%a7%d9%82-%d8%b3%d8%b7%d8%b1%d9%87%d8%a7%db%8c-%d8%ac%d8%af%d9%88%d9%84-concatenating-rows.aspx)، کاربر msalim (http://barnamenevis.org/member.php?108959-msalim)

#Cاش به اینجا ربطی نداره!