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

نام تاپیک: کوئری گزارش گیری

  1. #1

    Question کوئری گزارش گیری

    سوال من یه کوئری دارم که می خوام تعداد دستگاه های ابطالی، تعمیری و خام را اساس نام بانک(psp_id) بشمرم این داده ها در 2 جدول قرار داره کوئریمو تو قسمت زیر آوردم .

    select psp_id , Raw , Cancell , repair
    from(
    select pos.psp_id ,COUNT( pos.serial_code) as `Raw`
    from pos
    where pos.status='خام'
    group by pos.psp_id

    UNION

    select pos.psp_id ,COUNT( pos.serial_code) as `Cancell`
    from pos
    INNER JOIN change_location
    on change_location.serial_code = pos.serial_code
    where change_location.status='ابطالی'
    and
    change_location.update_date > pos.update
    group by pos.psp_id

    UNION

    select pos.psp_id,COUNT(pos.serial_code) AS `repair`
    from pos
    INNER JOIN change_location
    on change_location.serial_code = pos.serial_code
    where change_location.status='تعمیری'
    and
    change_location.update_date > pos.update
    group by pos.psp_id
    ) t

    group by psp_id "


    هر کدام از select های داخلی جداگانه کار می کنند اما وقتی می خوام نتیجه آن ها را باهم ببینم خطاهای عجیب می ده لطفا راهنماییم کنید کجای کوئریم اشتباه .
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: png 2.PNG‏ (5.0 کیلوبایت, 31 دیدار)
    • نوع فایل: png 1.PNG‏ (8.0 کیلوبایت, 31 دیدار)
    آخرین ویرایش به وسیله baran.f.a : چهارشنبه 10 دی 1393 در 08:19 صبح

  2. #2

    نقل قول: کوئری گزارش گیری

    کسی نیست راهنماییم کنه .

  3. #3

    نقل قول: کوئری گزارش گیری

    در union نام ستون های برگشتی باید یکی باشد ... یعنی اینکه توی select اول ستون raw داری ولی توی select دوم cancel گذاشتی باید همه یک نام داشته باشه

    از کوئری تون مشخصه که میخواید توی یک رکورد اونها رو نمایش بدید درسته ؟ چرا اصلا از union استفاده کردید ؟

  4. #4

    نقل قول: کوئری گزارش گیری

    نقل قول نوشته شده توسط baran.f.a مشاهده تاپیک
    کسی نیست راهنماییم کنه .
    اولين مشكلي كه بدون تحليل به چشم مي خوره اين كه شما 4 تا فيلد انتخاب كرديد در حالي كه كوئري هاي داخلي دو تا فيلد خروجي دارند براي اصلاح اين مورد خط اول هر كدوم از سلكت هاي داخلي رو به صورت زير اصلاح كنيد

    select pos.psp_id ,COUNT( pos.serial_code) as `Raw`,0 as `Cancell`,0 AS `repair`
    select pos.psp_id ,0 as `Raw`,COUNT( pos.serial_code) as `Cancell`,0 AS `repair`
    select pos.psp_id,0 as `Raw`,0as `Cancell`,COUNT(pos.serial_code) AS `repair`


    گذاشتن پيغام خطا به راهنمايي بيشتر كمك مي كند

  5. #5

    نقل قول: کوئری گزارش گیری

    سلام ممنون ولی من این تغییر را انجام دادم ولی خطای Duplicate column name '0' را می ده باید چیکار کنم

  6. #6

    نقل قول: کوئری گزارش گیری

    نقل قول نوشته شده توسط beh3000 مشاهده تاپیک
    در union نام ستون های برگشتی باید یکی باشد ... یعنی اینکه توی select اول ستون raw داری ولی توی select دوم cancel گذاشتی باید همه یک نام داشته باشه

    از کوئری تون مشخصه که میخواید توی یک رکورد اونها رو نمایش بدید درسته ؟ چرا اصلا از union استفاده کردید ؟
    سلام دقیقا می خوام همین کار و انجام بدم باید از چه روشی استفاده کنم راستش من تازه کارم .

  7. #7

    نقل قول: کوئری گزارش گیری

    نقل قول نوشته شده توسط baran.f.a مشاهده تاپیک
    سلام ممنون ولی من این تغییر را انجام دادم ولی خطای Duplicate column name '0' را می ده باید چیکار کنم
    احتمالا قسمت هاي as'نام فيلد' نگذاشته اي دقيقا طبق نمونه اي كه گفتم اصلاح كرده ايد

  8. #8

    نقل قول: کوئری گزارش گیری

    نقل قول نوشته شده توسط online_com مشاهده تاپیک
    احتمالا قسمت هاي as'نام فيلد' نگذاشته اي دقيقا طبق نمونه اي كه گفتم اصلاح كرده ايد
    درست شد خیلی ممنون .

  9. #9

    نقل قول: کوئری گزارش گیری

    ببخشید می خواستم بدونم استفاده از روش union اشتباهه ؟ چون الان که کوئریم اجرا شد شمارش درست دستگاه هایی که یک پروژه مشترک دارن را انجام نمی ده این به خاطر استفاده از union?

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

  1. پاسخ: 0
    آخرین پست: سه شنبه 14 آذر 1391, 09:41 صبح
  2. پاسخ: 2
    آخرین پست: سه شنبه 15 فروردین 1391, 23:09 عصر
  3. پاسخ: 1
    آخرین پست: پنج شنبه 21 بهمن 1389, 08:36 صبح
  4. کمک جهت اخذ کوئری از یک جدول لاگ برای گزارش گیری
    نوشته شده توسط ashena29 در بخش SQL Server
    پاسخ: 5
    آخرین پست: یک شنبه 21 اسفند 1384, 13:28 عصر
  5. کمک جهت اخذ کوئری از یک جدول لاگ برای گزارش گیری
    نوشته شده توسط ashena29 در بخش SQL Server
    پاسخ: 2
    آخرین پست: سه شنبه 02 اسفند 1384, 18:43 عصر

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

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