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

نام تاپیک: کمک در مورد جمع رکورد

  1. #1
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    کمک در مورد جمع رکورد

    با سلام دوستان من از این کد استفاده میکنم
    SELECT TOP 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img, Sum(RatingPost.Rating) AS SumOfRating, Count(RatingPost.PostID) AS CountOfPostID
    FROM TBLNews Left Outer Join RatingPost ON TBLNews.NewsID = RatingPost.PostID
    GROUP BY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img
    ORDER BY NewsID DESC;


    درسته و کار میده ولی تی جدولی که رای ثبت نشده مقداری برنمیگردونه
    مثال
    مقدار درست که برای پست ها ثبت شده
    افراد رای دهنده: [ 1 ] جمع امتیاز : [ 4 ]

    و جدولی که رای ثبت نشده
    افراد رای دهنده: [ 0 ] جمع امتیاز : [ ]

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

  2. #2
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    inam ax az mohit barname
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg sss.jpg‏ (84.7 کیلوبایت, 146 دیدار)

  3. #3
    کاربر دائمی آواتار Galawij
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شاره که م سنه
    پست
    711

    نقل قول: کمک در مورد جمع رکورد

    سلام،
    با یک تابع مقدار Null را کنترل کنید.مثال:

    ALTER
    FUNCTION [dbo].[IsZero] (@Number nvarchar(50),@IsZeroNumber nvarchar(50))
    RETURNSnvarchar(50)
    AS
    BEGIN
    IF
    (@Number ='0')
    BEGIN
    SET
    @Number = @IsZeroNumber
    END
    RETURN
    (@Number)
    END
    و طریقه استفاده:

    Select
    dbo.IsZero(convert(nvarchar(50),count(id)),'0')
    From dbo.Table_1

  4. #4
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    اگه میشه کمی توضیح بدین من به چه شکل به کد بالا اضافه کنم؟
    با سپاس

  5. #5
    کاربر دائمی آواتار Galawij
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    شاره که م سنه
    پست
    711

    نقل قول: کمک در مورد جمع رکورد

    دوست عزیز،
    در مثالی که گذاشتم،طریقه استفاده هم آورده شده. در مورد کد شما به این صورت:

    SELECT
    TOP 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img, dbo.IsZero(convert(nvarchar(50),Sum(RatingPost.Rating)),'0')AS SumOfRating, dbo.IsZero(convert(nvarchar(50),Count(RatingPost.PostID)),'0')AS CountOfPostID
    FROM TBLNews LeftOuterJoin RatingPost ON TBLNews.NewsID = RatingPost.PostID GROUPBY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img ORDERBY NewsID DESC;

  6. #6
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    سلام
    توی زمان اجرا از dbo error میگیره؟ چرا؟

    Cannot find either column "dbo" or the user-defined function or aggregate "dbo.IsZero", or the name is ambiguous.

  7. #7
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    galavezh عزیز اگه امکان داره مشکل این کد بگین .
    توی زمان اجرا از dbo error میگیره؟ چرا؟

    Cannot find either column "dbo" or the user-defined function or aggregate "dbo.IsZero", or the name is ambiguous

  8. #8

    نقل قول: کمک در مورد جمع رکورد

    سلام.
    در sum(rating) -- in select از isnull استفاده کنید:
    sum(isnull(rating, 0)) -- test
    موفق باشید.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  9. #9
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سپاس از yousijoon و galavezh
    ممنون به این شکل درست شد
    ALTER PROCEDURE dbo.RatingAmar
    AS
    begin
    SELECT TOP 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img, isnull(convert(nvarchar(50),Sum(RatingPost.Rating) ),'0')AS SumOfRating, isnull(convert(nvarchar(50),Count(RatingPost.PostI D)),'0')AS CountOfPostID
    FROM TBLNews Left Outer Join RatingPost ON TBLNews.NewsID = RatingPost.PostID
    GROUP BY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img
    ORDER BY NewsID DESC;
    end


  10. #10
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    دوستان میشه لینک فایل راهنمایی در مورد همین دستورات sp بدین که شرط کنترلی هم ذکر شده باشه.

  11. #11
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام خدمت دوستان
    من به کد بالا می خواهم تعداد count نظرات اضافه کنم .
    جدول نظرات به این شکل است
     NameFamily, PostID, Date, Email, Comment

    اسم بانک Comments
    فقط مقدار cunt برگردونه که PostID=PostID باشه.
    با سپاس
    آخرین ویرایش به وسیله fakhravari : یک شنبه 24 مهر 1390 در 12:14 عصر

  12. #12
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    دوستان اگه میشه راهنمایی کنید .
    select az 3 jadval

  13. #13

    نقل قول: کمک در مورد جمع رکورد

    اگر ار (count(1 استفاده کنید مشکل کجاست؟
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  14. #14
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    من با این کد جواب نمیگیرم اگه میشه راهنمایی کنید

    SELECT TOP 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img, Sum(RatingPost.Rating) AS SumOfRating, Count(RatingPost.PostID) AS CountOfPostID, Count(Comments.ID) AS CountOfID
    FROM (TBLNews Left Outer Join RatingPost ON TBLNews.NewsID = RatingPost.PostID ) Left Outer Join Comments ON TBLNews.NewsID = Comments.PostID
    GROUP BY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img
    ORDER BY NewsID DESC;


    فقط 1 فیلد جابجا میگه
    در کد قبل که select از 2 جدول بود مشکلی نیست . ولی select 3 جدول شرط برقرار میشه اما یه مشکلی داره توی جمع زدن
    اگه دوستان کمکی کنند
    آخرین ویرایش به وسیله fakhravari : سه شنبه 26 مهر 1390 در 13:36 عصر

  15. #15
    کاربر دائمی
    تاریخ عضویت
    دی 1388
    محل زندگی
    رامسر
    پست
    565

    نقل قول: کمک در مورد جمع رکورد

    در جدول نظرات از کد زیر استفاده کنید، فک کنم جواب بده!


    SELECT Count(PostID) From Comments WHERE PostID = pID GroupBy PostID

  16. #16
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    سلام
    اید کد به چه شکل به کد بالا اضافه کنم؟

  17. #17
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام خدمت اقای صادقیان
    من مشکل در کد بالا فقط اینکه فقط 1 رکورد جدول اشتباه میگه و بقیه درست هستند .
    خیلی وقت سوال را مطرح کردم اما جوابی برای این قسمت نگرفتم.
    اگه دوستان کمک کنند ممنون میشم

  18. #18
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    اقای صادقیان دیگه امار دلیت های این پست زیاد شده.
    حد اقل شما بگویید مشکل این کد.
    دوستان که یاری نمیکنند دیگه

  19. #19
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    جواب نگرفتم
    یکی از دوستانم سوال نمیکنه تا دلمون خوش شه

  20. #20

    نقل قول: کمک در مورد جمع رکورد

    دوست من؛
    بیا از اول ببینیم چی می خوای؟
    این امتیاز چیه؟
    این جوری راحت تر میشه کمک کرد.
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  21. #21
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    ببنید من یه جدول اخبار دارم .و یک جدول امتیاز دهی به اخبار و یک جدول نظرات
    من select جوری گرفتم که 6 تا اخبار اول جدول اخبار بر حسب order by id desc نشون میده
    در select من بر حسب Left Outer Join است که مقایسه میکنه id اخبار با id جدول نظرات و id جدول امتیاز .
    در صورت وجود داشتن مقدار برمیگردونه و ر نه 0 میگذاره .
    من فیلد های جدول می گذارم
    اخبار TBLNews
    NewsID, Title, Abstract, Contents, AddDate, img

    نظرات Comments
    ID, PostID, NameFamily, Date, Email, Comment

    امتیاز RatingPost
     ID, Rating, UserName, PostID

    شما برای جدول بالا چه کدی مینویسید
    آخرین ویرایش به وسیله fakhravari : چهارشنبه 11 آبان 1390 در 13:48 عصر

  22. #22

    نقل قول: کمک در مورد جمع رکورد

    select top 6 *, (select count(1) from Comments where PostID = NewsID) as Posts, (select count(1) from RatingPost where PostID = NewsID) as Rates
    from TBLNews
    order by NewsID desc

    اینجا من کلید خارجی رو PostID گرفتم که به NewsID لینک داده شده.
    ببینید اونی هست که لازم دارید؟
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  23. #23
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام خدمت yousijoon عزیز
    من یه نمونه با دیتابیس access درست کردم .
    اگه ممکن ببینید.
    درون این دیتابیس 2 تا مثال است که مشکلی ندارن Select از 2 جدول.
    ولی اگر امکان داره شما درون همین دیتابیس یک Query ایجاد کرده و Select از 3 جدول تست کنید
    با سپاس
    فایل های ضمیمه فایل های ضمیمه

  24. #24
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: کمک در مورد جمع رکورد

    اگر فقط دریکی از دوجدول دیگر شرط برقرار بود یا در هردوجدول ویا الزاما یک جدول بخصوص مقدار برگردانده شود؟

  25. #25
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام Abbas Amiri
    من از هر 3 جدول مقدار دارم منظور شما رو نفهمیدم

  26. #26

    نقل قول: کمک در مورد جمع رکورد

    سلام

    امیدوارم این کد کمک کنه
    در مورد راهنمایی کد هم فقط اینو بدون که دستور داخل پرانتز بعد از Cross Apply برای هر رکورد Select بیرونی یه بار اجرا میشه ... پس کلا زیاد رو سرعت و پرفومنسش حساب نکن ... یه نکته هم در مورد نام گذاری فیلدهای جدولت بیشتر دقت کن مثلا هم جدول Comment فیلد ID داره هم Rate بهتره که اسمشون مشخص باشه ... CommentID و ...


    SELECTtop 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img
    ,isnull(convert(nvarchar(50),Sum(RatingPost.Rating)),'0')AS SumOfRating
    ,isnull(convert(nvarchar(50),Count(RatingPost.PostID)),'0')AS CountOfPostID
    , C.countComments
    FROM TBLNews LeftOuterJoin RatingPost ON TBLNews.NewsID = RatingPost.PostID
    cross apply(Selectdistinctcount(id)as countComments from comments where postid=tblnews.newsid) c
    GROUPBY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img,c.countComments ORDERBY NewsID DESC

  27. #27
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    ممنون از پاسختون.
    خطا زیر رو میده
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg ddd.jpg‏ (89.1 کیلوبایت, 70 دیدار)

  28. #28

    نقل قول: کمک در مورد جمع رکورد


    createproc sptest
    as
    begin
    SELECT
    top 6 TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img
    ,isnull(convert(nvarchar(50),Sum(RatingPost.Rating)),'0')AS SumOfRating
    ,isnull(convert(nvarchar(50),Count(RatingPost.PostID)),'0')AS CountOfPostID
    , C.countComments
    FROM TBLNews LeftOuterJoin RatingPost ON TBLNews.NewsID = RatingPost.PostID
    crossapply(Selectdistinctcount(id)as countComments from comments where postid=tblnews.newsid) c
    GROUPBY TBLNews.NewsID, TBLNews.Title, TBLNews.Abstract, TBLNews.Contents, TBLNews.AddDate, TBLNews.img,c.countComments ORDERBY NewsID DESC
    end

  29. #29
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    ممنون از جواب .
    خطای زیر میده
    از from اخطار میگیره
    عکس های ضمیمه عکس های ضمیمه

  30. #30

    نقل قول: کمک در مورد جمع رکورد

    نسخه SQL ات باید 2008 باشه ... ( نمی دونم 2005 هم دستور Apply رو پشتیبانی می کنه یا نه )
    تو این کدی که گذاشتی بعضی جاها Space ها حذف شده و کد ها به همدیگه چسبیده, به اینم دقت کن
    یک بار کد رو تو خود sql امتحان کن
    رو سیستم من که مشکلی نداره.

  31. #31
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام 2005 sql من
    دوستان با 2005 کمک کنید
    آخرین ویرایش به وسیله fakhravari : پنج شنبه 19 آبان 1390 در 00:25 صبح

  32. #32
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    مدیریت من که به جواب نرسیدم.
    اقای صادقیان گوشه چشمی بنداز

  33. #33

    نقل قول: کمک در مورد جمع رکورد

    آقا جان ببین درست متوجه شدم؟
    لیست 6 خبر آخر به همراه ضمائم آن که شامل تعداد نظرات و تعداد لایک های هر خبر کنارش می شه.
    کد:


    select top 6 *,
    (select COUNT(1)from Comments where PostID = NewsID) Comments,
    (select COUNT(1)from RatingPost where PostID = NewsID) Rates
    from TBLNews
    order by NewsID desc
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  34. #34
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    کد زیر خروجی مورد نظر من رو داره .
    SELECT        TOP (2) NewsID, Title, Abstract, Contents, AddDate, img,
    (SELECT COUNT(1) AS CountOfPostID
    FROM Comments
    WHERE (PostID = TBLNews.NewsID)) AS Comments,
    (SELECT SUM(Rating) AS SumOfRating
    FROM RatingPost
    WHERE (PostID = TBLNews.NewsID)) AS Rates,
    (SELECT COUNT(1) AS CountOfID
    FROM RatingPost AS RatingPost_1
    WHERE (PostID = TBLNews.NewsID)) AS Rates
    FROM TBLNews
    ORDER BY NewsID DESC

    اما قسمت های COUNT(1) AS CountOfPostID و SUM(Rating) AS SumOfRating و COUNT(1) AS CountOfID در برنامه نویسی به مقدار های as آنها دسترسی ندارم.
    دوستان به چه شکل عمل کنم

  35. #35
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

    با سلام
    دوستان این پست مشاهده ها: 845 شده دیگه بهتر با یاری دوستان به پایانش ببریم.
    جواب رو با کد پست 34 بدست اوردم و فقط مشکلم دسترسی نداشتن به مقدار AS است.

  36. #36
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,026

    نقل قول: کمک در مورد جمع رکورد

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

    ALTER PROCEDURE dbo.RatingAmar
    AS
    begin
    SELECT TOP (6) NewsID, Title, Abstract, Contents, AddDate, img,
    (SELECT isnull(convert(nvarchar(50),Count(1)),'0')
    FROM Comments
    WHERE (PostID = TBLNews.NewsID)) AS CountOfID,
    (SELECT isnull(convert(nvarchar(50),Sum(RatingPost.Rating) ),'0')
    FROM RatingPost
    WHERE (PostID = TBLNews.NewsID)) AS SumOfRating,
    (SELECT isnull(convert(nvarchar(50),Count(1)),'0')
    FROM RatingPost AS RatingPost_1
    WHERE (PostID = TBLNews.NewsID)) AS CountOfPostID
    FROM TBLNews
    ORDER BY NewsID DESC
    end;



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

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