تصور کنید یک جدول هست با 200 ستون که درحال حاضر 10 سطر داره
من اگه بخام از محتویات ستونهای این ده سطر سردر بیارم و بعنوان مثال بفهمم که چندتا از این ستونهای این 10 سطر مقدار 1 ذخیره شده کاره مشکلی پیش رو دارم مثلا اگه
بخام مثلا با case when بنویسمش حدود 200خط فقط کوئری من میشه
حال اگه جدول بچرخه کارمن بمراتب راحت تر میشه و دست ما تویه سطرها بمراتب باز تر از ستونها هست.....
(البته اینکار با کدنویسی تو مثلا سی شارپ کار سختی نیست)
تعجب میکنم با اینکه من در تاپیک دیگه جواب سوال شما را با یک راه حل ساده دادم هنوز براتون مساله پابرجاست!
این مطلب را ببینید که 3 سال پیش نوشتم:
http://www.30sharp.com/article/13/24...ggregates.aspx
یا از این مثال ساده الگو برداری کنید:
declare @t table
(row_id int, c1 int, c2 int, c3 int)
insert @t values (1,1,2,3),(2,1,1,1),(3,1,2,1),(4,2,3,4)
select row_id, sum(case when i = 1 then 1 else 0 end) as cnt
from @t
cross apply (values(c1),(c2),(c3))d(i)
group by row_id;
/* Result
row_id cnt
----------- -----------
1 1
2 3
3 2
4 0
*/
سوال دوم(سوال مهمتر): چطور میشه تو خود SQL بعد گرفتن سلکت و یک تغیییر سریع در یکی از ستونهای سلکت داد و اونرو مجددا آپدیت کرد تا جدول با مقدار جدید خودش رو ذخیره کنه؟ (در واقع میخام هنگام سلکت یک آپدیت هم بنویسم)این خیلی برام مهم اگه کسی میتونه کمک کنه لطفا کوتاهی نکنه....
سوالتون خیلی کلیه.
میتونید بر اساس داده های چند جدول عمل UPDATE را انجام بدین (update based on joins)
همچنین راجب MERGE نیز تحقیق کنید.