PDA

View Full Version : نمایش مقادیر یک ستون جدول بصورت افقی



mahdy.asia
سه شنبه 17 مرداد 1391, 23:16 عصر
من نیاز دارم ستون های یک جدول مانند کالا را بصورت داینامیک تعریف کنم و تعریف ستون ها را در اختیار کاربر قرار دهیم مطابق نمودار پیوست
دستورات اسکیوال جهت نمایش مقادیر ستون "نام لاتین" در جدول "مشخصه ها" بصورت افقی را نیاز دارم

baktash.n81@gmail.com
چهارشنبه 18 مرداد 1391, 12:34 عصر
سلام ...
دوست عزیز ممکنه یه مثال بزنید ؟!

mahdy.asia
پنج شنبه 19 مرداد 1391, 08:28 صبح
دوست عزیز ممکنه یه مثال بزنید ؟!
هم توضیح دادم هم نمودار روابط بانک ها را برای این موضوع کشیدم اگه دقت کنید می بینید که کاربر نهایی می تواند برای یک کالا خصوصیت وزن،اندازه،رنگ و ... را اضافه نماید و یک کالا می تواند 5 خصوصیت داشته باشد و کالای دیگر 10 خصوصیت که این خصوصیت ها قابل افزایش و کاهش می باشد

baktash.n81@gmail.com
پنج شنبه 19 مرداد 1391, 12:42 عصر
دستورات اسکیوال جهت نمایش مقادیر ستون "نام لاتین" در جدول "مشخصه ها" بصورت افقی را نیاز دارم

شاید شما بتونی روی نمودار کد بنویسی ولی معمولا روی ساختار جداول کد ایجاد می شه ...

لطفا اگه کسی فهمید این جمله یعنی چی برای من هم توضیح بده ...

یه مثال بزن ... البته اگه می تونید ...

mahdy.asia
شنبه 21 مرداد 1391, 01:53 صبح
یه مثال بزن ... البته اگه می تونید ...
کاربر نهایی می تواند برای یک کالا خصوصیت وزن،اندازه،رنگ و ... را اضافه نماید و یک کالا می تواند 5 خصوصیت داشته باشد و کالای دیگر 10 خصوصیت که این خصوصیت ها قابل افزایش و کاهش می باشد

baktash.n81@gmail.com
شنبه 21 مرداد 1391, 07:31 صبح
یعنی منظور شما از نمایش افقی ... اینه که خصوصیت ها به صورت ستون ها باشند

می تونید از Dynamic TSql استفاده کنید .. به اینصورت که در ابتدا باید بفمید این این کالا داری جه خصوصیاتی می باشد ... بعد اسم اونها رو به صورت رشته درآورده و داخل یک Select دیگه قراردهید .. البته برای نمایش برای Update هم می تونید از همین روش استفاده کنید ....

mahdy.asia
دوشنبه 23 مرداد 1391, 17:59 عصر
می تونید از Dynamic TSql استفاده کنید .. به اینصورت که در ابتدا باید بفمید این این کالا داری جه خصوصیاتی می باشد ... بعد اسم اونها رو به صورت رشته درآورده و داخل یک Select دیگه قراردهید .. البته برای نمایش برای Update هم می تونید از همین روش استفاده کنید ....
این که شما گفتید تنها عنوان ستون ها رو بصورت افقی در می آورد نه محتوای آن ها رو
مثلا
جدول یک با ستون های: کد،نام کالا که تعداد 20 کالا در آن لیست شده است
جدول دوم دارای ستون های: کد خصوصیت،نام خصوصیت می باشد
جدول سوم دارای ستون کد کالا، کد خصوصیت،مقدار خصوصیت می باشد که در این جدول برای هر کالا ممکن است یک یا چند رکورد ثبت شده باشد که بستگی به تعداد خصوصیت کالا دارد
جدولی که می بایست نمایش داده شود دارای ستون های : کد کالا،رنگ،سایز،وزن،شکل،جنس می تواند باشد که ستون های رنگ،سایز،وزن،شکل،جنس از مقادیر جدول سوم گرفته شده است

baktash.n81@gmail.com
سه شنبه 24 مرداد 1391, 08:51 صبح
اگه منظور شما دستوری تو SQL هست که مستقیم این کارو انجام بده ... چنین دستوری نداریم ... حداقل من نشنیدم ...
یه دستور Pivote وجود داره که اگه تعداد و مقدار خصوصیت ها یکی بود شاید می شد همچین کاری کرد ... ولی چون تعداد و نوع خصوصیت ها یکسان هست باید از Dynamic استفاده کنی ...

mahdy.asia
سه شنبه 24 مرداد 1391, 16:00 عصر
اگه منظور شما دستوری تو SQL هست که مستقیم این کارو انجام بده ... چنین دستوری نداریم ... حداقل من نشنیدم ...من منظورم پیاده سازی این ساختار با SQL و Developer است اما با توجه به اینکه بجز نمایش می بایست DataModify نیز انجام شود به نبظر می آید که بیشتر می بایست سمت اسکیوال انجام گیرد ضمن اینکه دستور Pivot می تونه داینامیک هم باشه به این صورت که ستونهای جداول را به صورت رشته از جدول مبنا می سازیم و دستورات را هم بصورت String می نویسیم و بعد از اتصال این دو رشته آن ها را اجرا می کنیم اما دستور Pivot تنها می تونه جمع یا یکی از عملیات مشابه رو روی ستون ها انجام بده و نمی تونه تنها آن ها رو لیست کنه