PDA

View Full Version : حل این سناریو (استخراج افراد بستانکار)



ShahinRad97
چهارشنبه 18 بهمن 1391, 00:40 صبح
سلام
یه تیبل داریم.
یه تا فیلد داره
id
c_id
pardakht
soorat

حالا من میخوام c_id هایی که جمع پرداخت هاشون از جمع صورتحساب هاشون بیشتره رو استخراج کنم. اما با چه کوئری نمیدونم.
همه فیلد ها عددی هستند.


c_id: کد مشتری

ممنون میشم راهنماییم کنید.

hossein_ignore
چهارشنبه 18 بهمن 1391, 00:55 صبح
SELECT
c_id
FROM
)نام جدول(
WHERE
SUM(pardakht) > SUM(soorat)
GROUP BY
c_id

محمد سلیم آبادی
چهارشنبه 18 بهمن 1391, 08:33 صبح
SELECT
c_id
FROM
)نام جدول(
WHERE
SUM(pardakht) > SUM(soorat)
GROUP BY
c_id



توابع تجمعی را باید در ماده ی having قرار داد، چیزی شبیه به این:
select c_id
from table
group by c_id
having sum(pardakht) > sum(soorat);

ShahinRad97
چهارشنبه 18 بهمن 1391, 08:47 صبح
SELECT
c_id
FROM
)نام جدول(
WHERE
SUM(pardakht) > SUM(soorat)
GROUP BY
c_id



ممنون . قبلا هم اینجوری بود، خطا میداد.


توابع تجمعی را باید در ماده ی having قرار داد، چیزی شبیه به این:
select c_id
from table
group by c_id
having sum(pardakht) > sum(soorat);
دستتون درد نکنه حل شد.

محمد سلیم آبادی
چهارشنبه 18 بهمن 1391, 08:53 صبح
و اگر نیاز دارین مشخصات مشتریان مورد نظر را پیدا کنید این query را اجرا کنید:


select *
from customers c
cross apply (select 1
from table_name
where c_id = c.c_id
having sum(pardakht) > sum(soorat))d(i);