Hacer un calendario de citas disponibles, con dos tablas
Publicado por Marisela (3 intervenciones) el 22/10/2013 03:41:23
Hola!!
Necesito un poquito de ayuda, para generar como un tipo tabla dinamica con una consulta de sql, tengo el sig procedimiento:
El cual me muestra algo asi:
pero es la tabla donde se registran sin modificarse despues las citas que hay para esas sucursales, pero necesito restale la informacion de otra tabla, la cual se hacen las citas reservadas algunas si quedan completas y otras se eliminan ya que no terminan el registro.
y restarle con algo asi (atc_sucursales_CalendarioEntregaTablets.NoCita - COUNT(atc_sucursales_ValidarCitaTablet.FechaRe) )
Pero como resultado solo me da las unicas que sufrieron resta, las que no tenian modificacion ya no aparecen, cuando deberian aparacer con el valor completo sin la resta.
algun tip, o ayuda?
la segunda tabla tiene los valores Sucursal, FechaRe, FechaCaptura, Status
pero solo interfiere el contador de cuando las citas sean = a la otra tabla y que sean de la misma sucursal
Necesito un poquito de ayuda, para generar como un tipo tabla dinamica con una consulta de sql, tengo el sig procedimiento:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
USE [Intranet]
GO
/****** Object: StoredProcedure [dbo].[sp_Sucursales_Prueba] Script Date: 10/21/2013 17:48:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[sp_Sucursales_Prueba]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @fechaDesde AS DATETIME
DECLARE @fechaHasta AS DATETIME
DECLARE @sqlQuery AS VARCHAR(8000)
DECLARE @campos AS VARCHAR(1000)
SET @fechaDesde = dateadd(d,2,cast(left(getdate(),11) as smalldatetime));
SET @fechaHasta = dateadd(d,6,cast(left(getdate(),11) as smalldatetime));
SET @sqlQuery = '';
SET @campos = '';
-- OBTENIENDO LOS NOMBRES DE LAS COLUMNAS DEL PERIODO DADO
WITH x AS
(
SELECT @fechaDesde fecha
UNION ALL
SELECT DATEADD( d , 1 ,fecha )
FROM x WHERE fecha < @fechaHasta
)
select @campos = stuff( (
SELECT '],[' + CONVERT(VARCHAR,fecha,6) FROM x
for xml path('') ) ,1,2,'' ) + ']'
OPTION(MAXRECURSION 0)
PRINT( @campos )
SET @sqlQuery = 'SELECT * FROM (
SELECT NoCita,FechaCita, NSucursal as Sucursal
FROM dbo.atc_sucursales_CalendarioEntregaTablets
)p PIVOT( MAX( NoCita ) for fechacita IN( ' + @campos + ' ) ) as pt
ORDER BY Sucursal ASC'
EXEC ( @sqlQuery )END
El cual me muestra algo asi:
1
2
3
4
Sucursal 23 oct 13 24 oct 13 25 oct 13 ....
a1 5 6 9
a2 8 7 10
a3 2 3 4
pero es la tabla donde se registran sin modificarse despues las citas que hay para esas sucursales, pero necesito restale la informacion de otra tabla, la cual se hacen las citas reservadas algunas si quedan completas y otras se eliminan ya que no terminan el registro.
y restarle con algo asi (atc_sucursales_CalendarioEntregaTablets.NoCita - COUNT(atc_sucursales_ValidarCitaTablet.FechaRe) )
Pero como resultado solo me da las unicas que sufrieron resta, las que no tenian modificacion ya no aparecen, cuando deberian aparacer con el valor completo sin la resta.
algun tip, o ayuda?
la segunda tabla tiene los valores Sucursal, FechaRe, FechaCaptura, Status
pero solo interfiere el contador de cuando las citas sean = a la otra tabla y que sean de la misma sucursal
Valora esta pregunta
0