PDA

View Full Version : تبدیل چند رکورد به یک رکورد؟؟



پوریا_م
شنبه 28 اسفند 1389, 18:37 عصر
جدولی شامل لیست اسامی شرکتها به همراه تلفن آنها وجود دارد به گونه ای که به ازای هر تلفن شرکت یه رکورد وجود دارد
مثلا اگر شرکتی 3 تلفن دارد به ازای آن 3 رکورد در جدول وجود دارد.حال اگر بخواهیم به ازای هر شرکت یک رکورد داشته باشیم که همه تلفن های آن در همین یک رکورد بگنجد
چه کدی باید نوشت؟

Reza_Yarahmadi
شنبه 28 اسفند 1389, 20:24 عصر
میتویند بصورت زیر عمل کنید
Select
CompanyName,
CompanyPhones = (Select Phone + ','
From TableName
Where CompanyName = T.CompanyName
FOR XML PATH(''))
From
TableName T
Group By
CompanyName

محمد سلیم آبادی
پنج شنبه 11 فروردین 1390, 23:21 عصر
باید توجه داشت که همیشه کاراکتر اضافه کاما در آخر مقدار ستون CompanyPhones دیده میشه. که برای رفع این مشکل می تونید به قسمت FOR XML PATH مقاله ی زیر رجوع کنید:
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