IF (EXISTS (select Table_name from SysTable where LCase(Table_name)=LCase('v_Services'))) THEN Drop View v_Services END IF GO create view /*SQL-1003-0002689930*/ v_Services as select Account=g.GuestNum, ServiceDate=DATEFORMAT(sc.DateCreditDt,'DD.MM.YYYY'), Service=s.ServiceName, GuestName=g."Name", Country=Countries.Description, Agent=Contracts.ShortName, PayedSum=sc.PayedServices*sc.SumCredit, Balance=(sc.PayedServices-sc.NumberServices)*sc.SumCredit, AdminName=Admin.ShortName, Room=ASL.LastRoom, Currency=cur.Symbol, ExplanationColumn=if(sc.PBXLogN is not null or sc.KodAdmin=1002) then 'PBX' else if(select count(A.AdminNo) from "dba".Admin as A where A.AdminGroup=0 and A.AdminNo=sc.KodAdmin)>0 then 'POS' else if (sc.SPaReservationFk<>-1 and sc.SpaTransferFlag=1) then 'ÑÏÀ' else null endif endif endif from "dba".ServiceCredits as sc ,Services as s ,Contracts LEFT OUTER JOIN Guests as g on Contracts.ContractNo=g.Contract ,Countries ,Admin ,Currencies as cur ,v_ArriveStayLeaveGuestBook as ASL where sc.Service=s.ServiceNo and sc.GuestNo=g.GuestNum and Contracts.GroupNo=any(select distinct(showtype) from "dba".GrContracts where GrNo=-1) and g.CountryArrive=Countries.CountryKod and sc.KodAdmin=Admin.AdminNo and ASL.GuestNum=g.GuestNum and sc.KodCurrency=cur.KodCurrency and ((sc.SPaReservationFk=-1) or (sc.SPaReservationFk<>-1 and sc.SpaTransferFlag=1)) /*Opravia filtriraneto na data na spravkata*/ //[17.03.2005] Safa, optimizatsia