Advertisement
FoxTuGa

Search With Filters

Nov 26th, 2013
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.09 KB | None | 0 0
  1. SELECT 
  2.         (
  3.             SELECT COUNT(*) FROM Employee_Assiduity AS EASS
  4.                 LEFT JOIN Assiduity_Types AS ET
  5.                     ON ET.Code = EASS.Assiduity_Code
  6.                 WHERE EASS.Employee_No = E.Employee_No
  7.                         AND ET.Blocked = 0
  8.                         AND ET.[TYPE] = 0
  9.         ),
  10.  
  11.         E.Employee_No,
  12.         E.Alias AS Name,
  13.         E.Sharepoint_User,
  14.         E.Income_Category AS 'Income_Category',
  15.         (E.First_Name + ISNULL(' ' + E.Middle_Name, '') + ISNULL(' ' + E.Last_Name, '')) AS LongName,
  16.         ISNULL(GC_Cat.[Description], '') AS Category,
  17.         ISNULL(OSH_Dept.[Description], ISNULL(OSH_Zona.[Description],'')) AS 'Department',
  18.         E.Department AS 'Department_Code',
  19.         ISNULL(OSH_Sector.[Description], ISNULL(OSH_AreaCarga.[Description], '')) AS 'Sector',
  20.         E.Sector AS 'Sector_Code',
  21.         ISNULL(OSH_Area.[Description], ISNULL(OSH_TI.[Description], '')) AS 'Area',
  22.         E.Area AS 'Area_Code',
  23.         ISNULL(OSH_Area.ID, ISNULL(OSH_TI.ID, '')) AS 'Area_ID',
  24.         ISNULL(OSH_Sector.Parent_ID, ISNULL(OSH_AreaCarga.Parent_ID, '')) AS 'Sector_ParentID'
  25.  
  26. FROM Employee AS E
  27.         --CATEGORIA
  28.     LEFT JOIN General_Codes AS GC_Cat
  29.         ON GC_Cat.Code = E.Category_Code AND GC_Cat.[TYPE] = 'CA'
  30.  
  31.         --VIAGENS
  32.     LEFT JOIN Organization_Structure_Header AS OSH_Dept
  33.         ON OSH_Dept.ERP_No = E.Department AND OSH_Dept.Department_Code = 'DPT'
  34.     LEFT JOIN Organization_Structure_Header AS OSH_Area
  35.         ON OSH_Area.ERP_No = E.Area AND OSH_Area.Department_Code = 'AREA'AND OSH_Area.[Parent_ID] = OSH_Dept.ID
  36.     LEFT JOIN Organization_Structure_Header AS OSH_Sector
  37.         ON OSH_Sector.ERP_No = E.Sector AND OSH_Sector.Department_Code = 'SECT' AND OSH_Sector.[Parent_ID] = OSH_Area.ID
  38.                            
  39.         --CARGA
  40.     LEFT JOIN Organization_Structure_Header AS OSH_Zona
  41.         ON OSH_Zona.ERP_No = E.Department AND OSH_Zona.Department_Code = 'ZONA'
  42.     LEFT JOIN Organization_Structure_Header AS OSH_TI
  43.         ON OSH_TI.ERP_No = E.Area AND OSH_TI.Department_Code = 'TIPO DE INSTALACAO'AND OSH_TI.[Parent_ID] = OSH_Zona.ID
  44.     LEFT JOIN Organization_Structure_Header AS OSH_AreaCarga
  45.         ON OSH_AreaCarga.ERP_No = E.Sector AND OSH_AreaCarga.Department_Code = 'AREA' AND OSH_AreaCarga.[Parent_ID] = OSH_TI.ID
  46.  
  47.         --LOCAL RESIDENCIA
  48.     LEFT JOIN Employee_Address AS EA
  49.         ON EA.ID = E.Address_ID_1
  50.  
  51. WHERE   (LOWER(First_Name) LIKE '%REPLACETHIS%'
  52.         OR LOWER(Middle_Name) LIKE '%REPLACETHIS%'
  53.         OR LOWER(Last_Name) LIKE '%REPLACETHIS%'
  54.         OR LOWER(E.Employee_No) = 'REPLACETHIS'
  55.         OR LOWER(Alias) LIKE '%REPLACETHIS%'
  56.         OR LOWER(Sharepoint_User) LIKE '%REPLACETHIS%'
  57.  
  58.         OR LOWER(EA.[LOCAL]) LIKE LOWER('%REPLACETHIS%')
  59.         OR LOWER(ISNULL(OSH_Dept.[Description] + ' ' + OSH_Sector.[Description], OSH_Zona.[Description] + ' ' + OSH_TI.[Description])) LIKE LOWER('%REPLACETHIS%')
  60.         OR LOWER(ISNULL(OSH_Sector.[Description], OSH_TI.[Description])) LIKE LOWER('%REPLACETHIS%')
  61.         OR LOWER(ISNULL(OSH_Sector.[Description], OSH_TI.[Description])) LIKE LOWER('%REPLACETHIS%')
  62.         OR LOWER(GC_Cat.[Description]) LIKE LOWER('%REPLACETHIS%')
  63.         OR LOWER(E.Employment_Date) LIKE LOWER('%REPLACETHIS%')
  64.         OR LOWER(E.Antiquity_Date) LIKE LOWER('%REPLACETHIS%')
  65.  
  66.             --AGE RANGE
  67.         OR CONVERT(INT,CONVERT(VARCHAR(30),ISNULL(DATEDIFF(YEAR, E.Birth_Date, GETDATE()), '')) )
  68.             BETWEEN CONVERT(INT,NULLIF(SUBSTRING('REPLACETHIS', 1, CHARINDEX(' e', LOWER('REPLACETHIS'))), ''))
  69.                     AND CONVERT(INT,NULLIF(REPLACE(SUBSTRING(REPLACE(LOWER('REPLACETHIS'), 'e ', 'x'), CHARINDEX('x', REPLACE(LOWER('REPLACETHIS'), 'e ', 'x')),5), 'x', ''), SUBSTRING('REPLACETHIS', 1, 4)))
  70.             --AGE SINGLE
  71.         OR CONVERT(VARCHAR(30),ISNULL(DATEDIFF(YEAR, E.Birth_Date, GETDATE()), '')) = LOWER('REPLACETHIS')
  72.  
  73.             --EMPLOYEMENT DATE RANGE
  74.         OR DATEPART(YEAR,E.Employment_Date)
  75.             BETWEEN NULLIF(SUBSTRING('REPLACETHIS', 1, CHARINDEX(' e', LOWER('REPLACETHIS'))), '')
  76.                     AND NULLIF(REPLACE(SUBSTRING(REPLACE(LOWER('REPLACETHIS'), 'e ', 'x'), CHARINDEX('x', REPLACE(LOWER('REPLACETHIS'), 'e ', 'x')),5), 'x', ''), SUBSTRING('REPLACETHIS', 1, 4))
  77.             --EMPLOYEMENT DATE SINGLE
  78.         OR CONVERT(VARCHAR(30),DATEPART(YEAR,E.Employment_Date)) = LOWER('REPLACETHIS')
  79.            
  80.         OR LOWER(E.Income_Category) LIKE LOWER('%REPLACETHIS%')
  81.  
  82.             --GROSS REMUNERATION RANGE
  83.         OR CONVERT(DECIMAL(9,2),(E.GrossRemuneration + E.AllowanceFailures + E.ShoppingSubsidy + E.TransportSubsidy))
  84.             BETWEEN NULLIF(SUBSTRING('REPLACETHIS', 1, CHARINDEX(' e', LOWER('REPLACETHIS'))), '')
  85.                     AND NULLIF(REPLACE(SUBSTRING(REPLACE(LOWER('REPLACETHIS'), 'e ', 'x'), CHARINDEX('x', REPLACE(LOWER('REPLACETHIS'), 'e ', 'x')),5), 'x', ''), SUBSTRING('REPLACETHIS', 1, 4))
  86.             --GROSS REMUNERATION SINGLE
  87.         OR CONVERT(VARCHAR(30),CONVERT(DECIMAL(9,2),(E.GrossRemuneration + E.AllowanceFailures + E.ShoppingSubsidy + E.TransportSubsidy))) LIKE LOWER('%REPLACETHIS%')
  88.  
  89.             --EMPLOYEMENT "TIME" RANGE
  90.         OR CONVERT(INT,CONVERT(VARCHAR(30),ISNULL(DATEDIFF(YEAR, E.Employment_Date, GETDATE()), '')))
  91.             BETWEEN CONVERT(INT,NULLIF(SUBSTRING('REPLACETHIS', 1, CHARINDEX(' e', LOWER('REPLACETHIS'))), ''))
  92.                     AND CONVERT(INT,NULLIF(REPLACE(SUBSTRING(REPLACE(LOWER('REPLACETHIS'), 'e ', 'x'), CHARINDEX('x', REPLACE(LOWER('REPLACETHIS'), 'e ', 'x')),5), 'x', ''), SUBSTRING('REPLACETHIS', 1, 4)))
  93.             --EMPLOYEMENT "TIME" SINGLE
  94.         OR CONVERT(VARCHAR(30),ISNULL(DATEDIFF(YEAR, E.Employment_Date, GETDATE()), '')) = LOWER('REPLACETHIS')
  95.  
  96.             --ASSIDUITY RANGE
  97.         OR (
  98.                 SELECT COUNT(*) FROM Employee_Assiduity AS EASS
  99.                     LEFT JOIN Assiduity_Types AS ET
  100.                         ON ET.Code = EASS.Assiduity_Code
  101.                     WHERE EASS.Employee_No = E.Employee_No
  102.                             AND ET.Blocked = 0
  103.                             AND ET.[TYPE] = 0
  104.             )
  105.             BETWEEN CONVERT(INT,NULLIF(SUBSTRING('REPLACETHIS', 1, CHARINDEX(' e', LOWER('REPLACETHIS'))), ''))
  106.                     AND CONVERT(INT,NULLIF(REPLACE(SUBSTRING(REPLACE(LOWER('REPLACETHIS'), 'e ', 'x'), CHARINDEX('x', REPLACE(LOWER('REPLACETHIS'), 'e ', 'x')),5), 'x', ''), SUBSTRING('REPLACETHIS', 1, 4)))
  107.             --ASSIDUITY SINGLE
  108.         OR CONVERT(VARCHAR(30),(
  109.                 SELECT COUNT(*) FROM Employee_Assiduity AS EASS
  110.                     LEFT JOIN Assiduity_Types AS ET
  111.                         ON ET.Code = EASS.Assiduity_Code
  112.                     WHERE EASS.Employee_No = E.Employee_No
  113.                             AND ET.Blocked = 0
  114.                             AND ET.[TYPE] = 0
  115.             )) = LOWER('REPLACETHIS')
  116.         AND NULLIF('REPLACETHIS', '') IS NOT NULL)
  117.        
  118.        
  119. ORDER BY Name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement