Is het mogelijk om de DatumControle van beide tabellen te koppelen zodat ik het totaal van beide tabellen heb voor die datum.

Beide query's zijn hetzelfde (op de tabel na die geselecteerd wordt).

####################################################

select CAST(dag as varchar(2)) + '-' + CAST(maand as varchar(2)) + '-' + CAST(jaar as varchar(4)) as DatumControle, Totaal, Uitvoerder from
(
SELECT TOP(1000000000) datepart(day,datumcontrole) AS dag, datepart(month,datumcontrole) AS maand,datepart(year,datumcontrole) AS jaar, Totaal, Uitvoerder FROM Bewakingsdiensten WHERE ID in (select ID from
(select dbo.dateonly(datumcontrole) as Datum,max(id) as ID from bewakingsdiensten
group by dbo.dateonly(datumcontrole)) as maxIDs
)
ORDER BY jaar desc, maand desc, dag desc
) AS t1

---------------------------------------------------------------------------

select CAST(dag as varchar(2)) + '-' + CAST(maand as varchar(2)) + '-' + CAST(jaar as varchar(4)) as DatumControle, Totaal, Uitvoerder from
(
SELECT TOP(1000000000) datepart(day,datumcontrole) AS dag, datepart(month,datumcontrole) AS maand,datepart(year,datumcontrole) AS jaar, Totaal, Uitvoerder FROM alarmopvolging WHERE ID in (select ID from
(select dbo.dateonly(datumcontrole) as Datum,max(id) as ID from alarmopvolging
group by dbo.dateonly(datumcontrole)) as maxIDs
)
ORDER BY jaar desc, maand desc, dag desc
) AS t2
Gebruik gewoon een DATE of DATETIME veld.
Ja dat kan maar maak eerst je query wat beter leesbaar :)
Ik kom er i.i.g. niet zo 1,2,3, uit
Zo dan:

SELECT DatumControle, Totaal, Uitvoerder FROM Bewakingsdiensten WHERE ID in (select ID from
(select dbo.dateonly(datumcontrole) as Datum,max(id) as ID from bewakingsdiensten
group by dbo.dateonly(datumcontrole)) as maxIDs
)
order by DatumControle desc

-----------------------------------------------------------------------

SELECT DatumControle, Totaal, Uitvoerder FROM alarmopvolging WHERE ID in (select ID from
(select dbo.dateonly(datumcontrole) as Datum,max(id) as ID from alarmopvolging
group by dbo.dateonly(datumcontrole)) as maxIDs
)
order by DatumControle desc
SELECT 
    DatumControle, 
    Totaal, 
    Uitvoerder 
FROM 
    Bewakingsdiensten 
WHERE 
    ID in (
       select 
          ID 
       from
          (
           select 
              dbo.dateonly(datumcontrole) as Datum,
              max(id) as ID 
           from 
              bewakingsdiensten
           group by 
              dbo.dateonly(datumcontrole)
          ) as maxIDs 
    )
order by 
    DatumControle desc


Eerder zoiets ...

Als het goed is het je alles opgeslagen als DATE ... Daar kan je gewoon op koppelen dan zonder rare poespas ... Dus gewoon date1 = date2
Ja,

Maar de datums die worden ingevoerd zijn op seconden nauwkeurig.
Hiermee bedoel ik dat er meerdere datums ingevuld kunnen zijn:

09-11-2010 15:15:35
09-11-2010 15:15:48 <---- die wordt eruit gehaald

Dit wordt ook bij de tweede gedaan.

Daarna moeten die velden met mekaar vergeleken worden zonder uur, minuut en seconden.

Dus alleen 09-11-2010.

In het kort: de laatste tijd van een datum wordt eruit gehaald van beide tabellen en die moeten worden gekoppeld aan mekaar.
P Widdershoven op 09/11/2010 14:33:54

Dus gewoon date1 = date2


DATE(date1) = DATE(date2)

Reageren