آرام جان گل
21-06-2007, 21:21
سلام
از كاربر some one بسيار ممنونم
من برنامه يك كتابخانه رو مي نويسم و در محيطsql جدولي دارم براي اسنادم( كتاب و سي دي و مقاله و نامه و نشريه و............) كه چندين ستون دارد مثل عنوان نوسنده زبان نوع گروه ناشر و .............
هر كدام از اين اسناد نوعش در ستون ( نوع )مشخص شده (همون كتاب و مقاله و سي دي ......) و در ضمن زبان سندم هم مشخص شده (فارسي و لاتين )
ستون( نوع سند) كليد خارجي است كه مقدارش را از يك جدول ديگه مي گيره و ستون زبان هم nvarchar كه مقدارش (فارسي و يا لاتين ) است
حالا بريم سراغ محيط سي شارپ :
من در بخشي از برنامه كه كار جستجو را براي كاربر انجام مي دهد چند تا چك باكس دارم كه اين ها نو ع و زبان سند دلخواه كاربر را چك مي كنند مثلا چك باكس هاي من اين طوريند:
كتابهاي فارسي
كتابهاي لاتين
سي دي هاي فارسي
سي دي هاي لاتين
مقالات فارسي
.
.
.
.
.
همانطور كه پيداست در هركدام از چك باكس ها نوع و زبان سند با هم چك خواهد شد
بعد به دنبال سند دلخواه كاربر مي گردد و حالا در اين جا مشكل من شروع مي شود
من مي خوام كه رشته sql اي براي search بنويسم كه اطلاعات يافته شده را دسته بندي شده به كاربر نمايش دهد مثلا بگو يد كه چند تا كتاب فارسي پيدا كرده و يا چند تا سي دي لاتين پيدا كرده
انچه مهم است اينه كه تعدادرا بگه و دسته بندي را انجام بدهد
اون چيزي كه به ذهن من مي رسه اينه كه از رشته زير استفاده كنم
select " my field" ,count (*) ………………………….. group by " my field"
اما اين رشته يافته هاي مرا بر اساس فقط يك ستون و ان هم ستون "field " كه يكي از ستون هاي جدول است مرتب خواهد كرد و با تعداد (زcount)نمايش مي دهد
در حالي كه من دو ستون را بايد مورد بررسي قرار دهم ستون نوع سند و ستون ز بان
حالااز چه رشته اي استفاده كنم يا از چه ترفندي استفاده كنم يا چه تغييري در پايگاه و جدولم انجانم دهم تا بتونم اين كار را انجام بدم؟
لطفا خيلي راهنمايي كنيد
بسيار ممنون
از كاربر some one بسيار ممنونم
من برنامه يك كتابخانه رو مي نويسم و در محيطsql جدولي دارم براي اسنادم( كتاب و سي دي و مقاله و نامه و نشريه و............) كه چندين ستون دارد مثل عنوان نوسنده زبان نوع گروه ناشر و .............
هر كدام از اين اسناد نوعش در ستون ( نوع )مشخص شده (همون كتاب و مقاله و سي دي ......) و در ضمن زبان سندم هم مشخص شده (فارسي و لاتين )
ستون( نوع سند) كليد خارجي است كه مقدارش را از يك جدول ديگه مي گيره و ستون زبان هم nvarchar كه مقدارش (فارسي و يا لاتين ) است
حالا بريم سراغ محيط سي شارپ :
من در بخشي از برنامه كه كار جستجو را براي كاربر انجام مي دهد چند تا چك باكس دارم كه اين ها نو ع و زبان سند دلخواه كاربر را چك مي كنند مثلا چك باكس هاي من اين طوريند:
كتابهاي فارسي
كتابهاي لاتين
سي دي هاي فارسي
سي دي هاي لاتين
مقالات فارسي
.
.
.
.
.
همانطور كه پيداست در هركدام از چك باكس ها نوع و زبان سند با هم چك خواهد شد
بعد به دنبال سند دلخواه كاربر مي گردد و حالا در اين جا مشكل من شروع مي شود
من مي خوام كه رشته sql اي براي search بنويسم كه اطلاعات يافته شده را دسته بندي شده به كاربر نمايش دهد مثلا بگو يد كه چند تا كتاب فارسي پيدا كرده و يا چند تا سي دي لاتين پيدا كرده
انچه مهم است اينه كه تعدادرا بگه و دسته بندي را انجام بدهد
اون چيزي كه به ذهن من مي رسه اينه كه از رشته زير استفاده كنم
select " my field" ,count (*) ………………………….. group by " my field"
اما اين رشته يافته هاي مرا بر اساس فقط يك ستون و ان هم ستون "field " كه يكي از ستون هاي جدول است مرتب خواهد كرد و با تعداد (زcount)نمايش مي دهد
در حالي كه من دو ستون را بايد مورد بررسي قرار دهم ستون نوع سند و ستون ز بان
حالااز چه رشته اي استفاده كنم يا از چه ترفندي استفاده كنم يا چه تغييري در پايگاه و جدولم انجانم دهم تا بتونم اين كار را انجام بدم؟
لطفا خيلي راهنمايي كنيد
بسيار ممنون