علی فتحی
چهارشنبه 27 شهریور 1392, 03:10 صبح
سلام من دو تا جدول ورود و خروج دارم .چگونه میتونم یک کویری برای دو جدول درست کنم و مانده نهایی رو بدست بیارم.
تعداد ورود-تعداد خروج = مانده کالا
 
در 
sql2008
hamzehsh
چهارشنبه 27 شهریور 1392, 17: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  رو مورد پردازش قراردادم
البته اگر منظورت رو درست متوجه شده باشم.
اميدوارم مشكل حل بشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.