نمایش نتایج 1 تا 17 از 17

نام تاپیک: تعداد ستون بر اساس ستون ديگر

  1. #1
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    تعداد ستون بر اساس ستون ديگر

    سلام يه جدول دارم داراي سه ستون idkala و idbarand و idstore حالا مي خوام تعداد مغازه هايي كه

    تك برندي و دو برندي و سه برندي هستند رو جداكانه بدست بيارم ؟!!!! idkala هم مقدارش را داريم يعني

    جايي كه idkala مشخص شده جه تعداد مغازه هايي تك برند و دو برند و سه برند يا بيشتر هستند؟!!!

  2. #2
    کاربر دائمی آواتار Salah Sanjabian
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مملکتی.......................
    پست
    284

    نقل قول: تعداد ستون بر اساس ستون ديگر

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

  3. #3
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    مثلا

    idkala idbarand idstore
    5 1 10
    5 2 10
    6 3 10
    4 1 10
    4 2 10
    4 3 10




    حالا مي خوام تعداد مغازه هايي كه از يك يا دو يا سه برند استفاده مي كنند تو idkala=10 بدست بيارم؟

  4. #4

    نقل قول: تعداد ستون بر اساس ستون ديگر

    اگر منظورتون از اعدادی که زیر idbarand نوشتین تعداد برند هست جوابتون این Query میشه :

    SELECT idbarand ,COUNT(idstore) AS CountStore FROM TableName WHERE idkala =10 GROUP BY idbarand

  5. #5
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    نقل قول نوشته شده توسط golnaz_a مشاهده تاپیک
    اگر منظورتون از اعدادی که زیر idbarand نوشتین تعداد برند هست جوابتون این Query میشه :

    SELECT idbarand ,COUNT(idstore) AS CountStore FROM TableName WHERE idkala =10 GROUP BY idbarand
    نه همان تور که مشخص است آدی برند است که کلید خارجیه جدول barand است که نام برند و ادی برند دارد(idbarand ) !!

  6. #6

    نقل قول: تعداد ستون بر اساس ستون ديگر

    خب همین Query رو بنویسید تنها فرقش اینه که باید جدول barand با جدولی که idbarand توش داره join بشه و select از join این دو تا جدول زده بشه

  7. #7
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    نگاه کنید انگار متوجه سوال من نشدید یه بار دیگه واضح می گم الان idstore=5 داره از دو برند استفاده می کنه idstore=6 از یه برند و idstore=4 از سه برند استفاده می کنه !! پس مغازه تک برندی 1 دونه

    داریم (تعداد مغازه هایی که از یه دونه برند استفاده می کنند نو ع برند هم اهمیت ندارد در idkala=10 ) و هم چنین دوبرندی 1 دونه و سه برندی هم یه دونه داریم !!!(البته دادهایی باید می آوردم که همشون یکی نشند)

    حالا به نظر شما این query شما جواب سوال من است؟!! تست کنید متوجه می شوید!!!!

  8. #8

    نقل قول: تعداد ستون بر اساس ستون ديگر

    الان متوجه شدم اینو تست کنید:

    select BarandCount,count(BarandCount) as CountStore from(sELECT COUNT(idstore) AS BarandCount FROM test WHERE idkala =10 GROUP BY idstore)v group by BarandCount

  9. #9
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    ظاهرا کارکرد یه توضیح بده این barandcount همیشه 1 ,2 و3 است ؟!! بعد اینارو می خوام تفکیک کنم ؟یه کویری بزنم واسه تکبرندی ها یکی واسه دو برند یکی واسه سه یا بیشتر ....؟

    چون جدا کدن این تو برنامه یکم مشکله؟!! تازه می خوام درصدی نشون بدم؟!!

  10. #10
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    در واقع می خوام سه برند به بالا تو یه دسته بیاد !!!! هر کدوم هم جدا بیاد؟!!!!

  11. #11
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    تقریبا مشکل رو حل کردم فقط تو سه برند به بالا می خوام sum countstore رو بدست بیارم اینجور می نویسم ارور میده!!



    SELECT BarandCount, COUNT(BarandCount) AS CountStore, SUM(CountStore) AS Expr1
    FROM (SELECT COUNT(idstore) AS BarandCount
    FROM Table2
    WHERE (idkala = 10)
    GROUP BY idstore) AS v
    WHERE (BarandCount >= 3)
    GROUP BY BarandCount


  12. #12
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    اینجوری نوشتم درست شد !!

    SELECT SUM(CountStore) AS Expr1
    FROM (SELECT BarandCount, COUNT(BarandCount) AS CountStore
    FROM (SELECT COUNT(idstore) AS BarandCount
    FROM Table2
    WHERE (idkala = 10)
    GROUP BY idstore) AS v
    WHERE (BarandCount >= 3)
    GROUP BY BarandCount) AS derivedtbl_1


  13. #13

    نقل قول: تعداد ستون بر اساس ستون ديگر

    brandcount در واقع همان چندبرندی بودن هست مثلا 3 نشون میده 3 برندی هست و countstore تعداد مغازه ها رو نشون میده.
    نمی دونم چرا باید به تفکیک نشون بدید ولی در این صورت باید اینجوری بنویسید:

    مثلا برای یک برندی:

    select BarandCount,count(BarandCount) as CountStore from(sELECT COUNT(idstore) AS BarandCount FROM test WHERE idkala =10 GROUP BY idstore)v group by BarandCount having
    count(BarandCount)=1

    برای سه به بالا:

    select BarandCount,count(BarandCount) as CountStore from(sELECT COUNT(idstore) AS BarandCount FROM test WHERE idkala =10 GROUP BY idstore)v group by BarandCount having count(BarandCount)>=3

  14. #14
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    نقل قول نوشته شده توسط golnaz_a مشاهده تاپیک
    الان متوجه شدم اینو تست کنید:

    select BarandCount,count(BarandCount) as CountStore from(sELECT COUNT(idstore) AS BarandCount FROM test WHERE idkala =10 GROUP BY idstore)v group by BarandCount
    یه مشکل دیگه است ستون idbarand می تونه null باشه !!! با این دستور به مشکل می خوریم!!!

  15. #15

    نقل قول: تعداد ستون بر اساس ستون ديگر

    چه مشکلی ؟ نباید مشکلی پیش بیاد!

  16. #16
    کاربر دائمی آواتار mahdioo12194
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    تهران
    پست
    801

    نقل قول: تعداد ستون بر اساس ستون ديگر

    منظورم اینه بعضی کالا ها برند ندارند !! پس idbarand null مقدار می گیره با دستور شما میاد اون رو هم جزو تعداد میاره !!! در صورتی که نباید بیاره واسه همین من count(idbarand ) رو گرفتم و فعلا مشکلی

    به وجود نیامده است!!!

  17. #17
    کاربر دائمی آواتار Salah Sanjabian
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مملکتی.......................
    پست
    284

    نقل قول: تعداد ستون بر اساس ستون ديگر

    سلام . Not Null رو باید اضافه کنی

    SELECT BarandCount,count(BarandCount) as CountStore
    FROM(sELECT COUNT(idstore) AS BarandCount FROM @T WHERE idkala =10 AND idbarand IS NOT NULL GROUP BY idstore)v group by BarandCount having
    count(BarandCount)=1

تاپیک های مشابه

  1. پركردن يك ستون براساس دو ستون ديگر
    نوشته شده توسط Iran58 در بخش T-SQL
    پاسخ: 1
    آخرین پست: پنج شنبه 13 بهمن 1390, 14:41 عصر
  2. پاسخ: 0
    آخرین پست: سه شنبه 13 مهر 1389, 00:13 صبح
  3. شمارش تعداد خطوط در یک ستون
    نوشته شده توسط حمیدرضاصادقیان در بخش SQL Server
    پاسخ: 7
    آخرین پست: دوشنبه 17 خرداد 1389, 23:02 عصر
  4. سوال: پردازش فایل csv بر اساس ستون های فایل
    نوشته شده توسط voldemort1 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 25 مهر 1388, 13:38 عصر
  5. مرتب سازی بر اساس ستون در DBGrid
    نوشته شده توسط NOROOZY در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 12
    آخرین پست: پنج شنبه 17 بهمن 1387, 08:54 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •