Advertisement
Kimossab

SIBD - S7.2

Mar 19th, 2015
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.84 KB | None | 0 0
  1. /*2.1*/
  2. SELECT Departamentos.Nome, UNome, PNome, IDProjecto, Projectos.Nome
  3.     FROM Departamentos LEFT OUTER JOIN Colaboradores
  4.         ON Departamentos.IDDepartamento = Colaboradores.Departamento LEFT OUTER JOIN Projectos_Colaboradores
  5.         ON Colaboradores.IDColaborador = Projectos_Colaboradores.Colaborador LEFT OUTER JOIN Projectos
  6.         ON Projectos_Colaboradores.Projecto = Projectos.IDProjecto
  7.     ORDER BY Departamentos.Nome, UNome, Projecto
  8.  
  9. /*2.2*/
  10. SELECT Departamentos.Nome, UNome, PNome, IDProjecto, Projectos.Nome
  11.     FROM Departamentos LEFT OUTER JOIN Colaboradores
  12.         ON Departamentos.IDDepartamento = Colaboradores.Departamento LEFT OUTER JOIN Projectos_Colaboradores
  13.         ON Colaboradores.IDColaborador = Projectos_Colaboradores.Colaborador LEFT OUTER JOIN Projectos
  14.         ON Projectos_Colaboradores.Projecto = Projectos.IDProjecto
  15.     WHERE Departamentos.Nome = 'Contabilidade' OR Departamentos.Nome = 'Pagamentos'
  16.     ORDER BY Departamentos.Nome, UNome, Projecto
  17. /*2.3*/
  18. SELECT 'Paga' AS [Estado], NúmeroFactura, DataFactura, TotalFactura
  19.     FROM Facturas
  20.     WHERE Pagamento = TotalFactura
  21. UNION
  22. SELECT 'Pendente' AS [Estado], NúmeroFactura, DataFactura, TotalFactura
  23.     FROM Facturas
  24.     WHERE Pagamento != TotalFactura
  25. ORDER BY TotalFactura DESC
  26.  
  27. /*FORNECIDO PELO BRUNO*/
  28.  
  29. /*2.4*/
  30. SELECT IDProjecto, Nome
  31. FROM Projectos
  32. LEFT JOIN Projectos_Colaboradores ON Projectos.IDProjecto=Projectos_Colaboradores.Projecto
  33. WHERE Projectos_Colaboradores.Colaborador IS NULL
  34.  
  35. /*2.5*/
  36. SELECT PNome + ' ' + UNome AS Nome, Nome AS Departamento
  37. FROM Colaboradores
  38. INNER JOIN Departamentos ON Colaboradores.Departamento = Departamentos.IDDepartamento
  39. LEFT JOIN Projectos_Colaboradores ON Colaboradores.IDColaborador=Projectos_Colaboradores.Colaborador
  40. WHERE Projectos_Colaboradores.Projecto IS NULL OR Projectos_Colaboradores.DataFinal < GETDATE()
  41. ORDER BY Departamento, Nome
  42.  
  43. /*2.6*/
  44. SELECT Projectos.Nome, 'Por Iniciar' AS Estado, PNome + ' ' + UNome AS Colaborador, DataInicial, DataFinal
  45. FROM Projectos LEFT OUTER JOIN Projectos_Colaboradores
  46. ON Projectos.IDProjecto = Projectos_Colaboradores.Projecto LEFT OUTER JOIN Colaboradores
  47. ON Projectos_Colaboradores.Colaborador = Colaboradores.IDColaborador
  48. WHERE DataInicial IS NULL OR DataInicial > GETDATE() UNION ALL
  49. SELECT Projectos.Nome, 'Em Curso' AS Estado, PNome + ' ' + UNome AS Colaborador, DataInicial, DataFinal
  50. FROM Projectos LEFT OUTER JOIN Projectos_Colaboradores
  51. ON Projectos.IDProjecto = Projectos_Colaboradores.Projecto LEFT OUTER JOIN Colaboradores
  52. ON Projectos_Colaboradores.Colaborador = Colaboradores.IDColaborador
  53. WHERE DataInicial <= GETDATE() AND (DataFinal IS NULL OR DataFinal >= GETDATE() ) UNION ALL
  54. SELECT Projectos.Nome, 'Terminado' AS Estado, PNome + ' ' + UNome AS Colaborador, DataInicial, DataFinal
  55. FROM Projectos LEFT OUTER JOIN Projectos_Colaboradores
  56. ON Projectos.IDProjecto = Projectos_Colaboradores.Projecto LEFT OUTER JOIN Colaboradores
  57. ON Projectos_Colaboradores.Colaborador = Colaboradores.IDColaborador
  58. WHERE DataFinal <=GETDATE()
  59. ORDER BY Estado,Nome
  60.  
  61. /*2.7*/
  62. SELECT NúmeroConta, Descrição, Nome, Localidade
  63. FROM ContasBalanço
  64. INNER JOIN Fornecedores ON
  65. ContasBalanço.NúmeroConta=Fornecedores.ContaBalançoPredefinida
  66. LEFT JOIN ItensFactura ON ContasBalanço.NúmeroConta = ItensFactura.ContaBalanço
  67. WHERE ItensFactura.ContaBalanço IS NULL
  68. ORDER BY NúmeroConta
  69.  
  70. /*2.8*/
  71. SELECT IDFactura, NúmeroFactura, DataFactura, TotalFactura, Nome AS Fornecedor, 'Liquidada' AS [Estado pagamento]
  72. FROM Facturas INNER JOIN Fornecedores
  73.         ON Facturas.Fornecedor=Fornecedores.IDFornecedor
  74. WHERE DataPagamento IS NOT NULL
  75. UNION ALL
  76. SELECT IDFactura, NúmeroFactura, DataFactura, TotalFactura, Nome AS Fornecedor, 'Por Liquidar' AS [Estado pagamento]
  77. FROM Facturas INNER JOIN Fornecedores
  78.         ON Facturas.Fornecedor=Fornecedores.IDFornecedor
  79. WHERE DataPagamento IS NULL
  80. ORDER BY [Estado pagamento]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement