PDA

View Full Version : کویری برای دو جدول و محاسبه مانده



علی فتحی
چهارشنبه 27 شهریور 1392, 02:10 صبح
سلام من دو تا جدول ورود و خروج دارم .چگونه میتونم یک کویری برای دو جدول درست کنم و مانده نهایی رو بدست بیارم.
تعداد ورود-تعداد خروج = مانده کالا

در
sql2008

hamzehsh
چهارشنبه 27 شهریور 1392, 16:50 عصر
با دستور select اگر منظورته بايد دوتا جدول رو يك جوري به هم ربطش بدي. اين چيزهايي كه وارد يا خارج ميشه در يك چيزي مشتركه درسته؟
بعد كه كوئري رو ساختي كلش رو توي يك كوئري ديگه قراربده و از اون select بزن
مثل اين كوئري كه من براي كار ديگه نوشتم

SELECT FLName, Age, Name,(a - b) * c as ValueOf, Dates, Template
FROM (SELECT Ps.FirstName + ' ' + Ps.LastName AS FLName, DATEDIFF(year, ISNULL(Ps.BirthDate, GETDATE()), GETDATE()) AS Age, M.Name, O.ValueOf as a , E.ValueOf as b , S.ValueOf as c
dbo.MiladiTOShamsiH(Se.DateOf) AS Dates, O.DateOf, M.MasterServiceID, Se.StatusIX, Ot.Name AS Template, Sxrf.OrderTemplateID
FROM dbo.ServiceEvent AS Se INNER JOIN
dbo.MasterService AS M ON Se.MasterServiceID = M.MasterServiceID INNER JOIN
dbo.Observation AS O ON Se.ServiceEventID = O.ServiceID INNER JOIN
dbo.Encounter AS E ON Se.EncounterID = E.EncounterID INNER JOIN
dbo.Patient AS P ON E.PatientID = P.PatientID INNER JOIN
dbo.ServiceXref AS Sxrf ON M.MasterServiceID = Sxrf.MasterServiceID INNER JOIN
dbo.Field AS F ON O.FieldID = F.ID INNER JOIN
dbo.OrderTemplate AS Ot ON Sxrf.OrderTemplateID = Ot.ID INNER JOIN
dbo.Person AS Ps ON P.PersonID = Ps.PersonID
WHERE (E.StatusIX <> 5) AND (F.FieldTypeIX IN (1, 2, 22)) AND (Sxrf.OrderTemplateID = 166316376) AND (P.PatientID IN (471079, 471371,
380240))) AS X
GROUP BY FLName, Age, Name, ValueOf, Dates, Template
ORDER BY Name, Dates



از چندين تا جدول هم خوانده شده.
در نهايت هم a , b , c رو مورد پردازش قراردادم

البته اگر منظورت رو درست متوجه شده باشم.
اميدوارم مشكل حل بشه.