ورود

View Full Version : مشکل در Query



amehrabi
چهارشنبه 23 شهریور 1384, 07:27 صبح
سلام
من در یک بانک سه جدول دارم به صورت زیر :
جدول پرسنل حاوی فیدهای :Personal_ID ,Name,family
جدول واریز حاوی فیلدهای : Personal_ID,Variz_Date,Mablaq_V
جدول دریافت حاوی فیلدهای : Personal_ID ,Daryaft_Date ,Mablaq_D
من می خواهم از این سه جدول یک Query بگیرم به صورتی که جمع واریز و دریافت را در یک Query در مقابل نام و نام خانوادگی هر پرسنل به من بدهد(فقط از یک Query استفاده کنم)
لطفا مرا راهنمایی کنید.

esi022
چهارشنبه 23 شهریور 1384, 09:12 صبح
SELECT distinct( table1.family), (table2.Mablaq_V+table3.Mablaq_D) AS Expr1
FROM table1, table2,table3
where table2.Personal_ID =table3.Personal_ID and table1.Personal_ID =table2.Personal_ID

Navid7h
پنج شنبه 24 شهریور 1384, 03:09 صبح
من فکر کنم نظر ایشون جمع مبالغ دریافتی و پرداختی بصورت مجزا برای هر پرسنل می باشد


Select P.Name ,P.family,
(select sum (mablaghvariz) from dbo.variztbl as V where P.personalid=V.personalid) as Variz,
(select sum (MablaghDaryaft) from dbo.DaryaftTbl as D where P.personalid=D.personalid) as Daryaft
from dbo.PersonTbl as P

Navid7h
پنج شنبه 24 شهریور 1384, 03:14 صبح
SELECT distinct( table1.family), (table2.Mablaq_V+table3.Mablaq_D) AS Expr1
FROM table1, table2,table3

آیا واقعا میشه اینجوری از tabel ها در FROM استفاده کرد ؟
میشه اگه مطلبی در این مورد از BOL سراغ دارین آدرسشو بدین.واقعا متشکر میشوم

AminSobati
پنج شنبه 24 شهریور 1384, 21:08 عصر
این روش قدیمی هستش و از اشکالاتش اینه که شما نمیتونین شرط Join رو از سایر شرطها تفکیک کنین. در حالیکه در ANSI Style Joins شما شرط Join رو در قسمت ON و سایر شرطها رو در WHERE قید میکنین. این مطلب از BOL هستش:
BOL>Accessing and changing...>Query Fundamentals>Join Fundamentals>Specifying Joins in FROM or WHERE Clauses