MSSQL: Verschil in dagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

John de Boer

John de Boer

12/11/2006 00:28:00
Quote Anchor link
Ik wil in MSAccess graag een query die laat zien welke sites ik minimaal 7 dagen niet geupdate heb.

Mijn query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT tblSites.[Naam GPT], [MijnGPT-verdiensten].Geupdate
FROM tblSites INNER JOIN [MijnGPT-verdiensten] ON tblSites.pkSiteID = [MijnGPT-verdiensten].pkSiteID
WHERE [MijnGPT-verdiensten].Geupdate < DATE_SUB( DATE(), INTERVAL 7 DAY)


De relevante tabellen ('MySQL-stijl'):
CREATE TABLE `mijngpt` (
`pkGPTid` tinyint(11) unsigned NOT NULL auto_increment,
`naamGPT` tinyint(3) unsigned NOT NULL default '0',
`saldo` decimal(8,4) default NULL,
`punten` decimal(15,4) default NULL,
`referrals` tinyint(3) unsigned default NULL,
`uitbetaald` enum('0','1') default '0',
`aantaluitbetaald` tinyint(3) unsigned default NULL,
`uitbetaling` decimal(10,4) default NULL,
`refurl` varchar(255) default NULL,
`cijfer` tinyint(3) unsigned default NULL,
`promotie` enum('0','1') default '0',
`vakantie` enum('0','1') default '0',
`geupdate` datetime default NULL,
`opmerkingen` longtext,
PRIMARY KEY (`pkGPTid`)
) TYPE=MyISAM COMMENT='MijnGPT''s';

CREATE TABLE `tblsites` (
`pkSiteID` bigint(21) unsigned NOT NULL auto_increment,
`NaamGPT` varchar(255) NOT NULL default '',
`taal` varchar(50) default NULL,
`URL` varchar(255) default NULL,
`banner_1` varchar(255) default NULL,
`banner_2` varchar(255) default NULL,
`banner_3` varchar(255) default NULL,
`banner_4` varchar(255) default NULL,
`banner_5` varchar(255) default NULL,
`banner_6` varchar(255) default NULL,
`eigen` varchar(255) default NULL,
`aanmeldbonus` decimal(5,2) default NULL,
`uitbetaalgrens` varchar(25) default NULL,
`centpermail` decimal(3,1) default NULL,
`aantalmails` tinyint(3) unsigned default NULL,
`refcredit` varchar(25) default NULL,
`reflevels` tinyint(3) unsigned default NULL,
`bubble` varchar(15) default NULL,
`cijfer` tinyint(3) unsigned default NULL,
`waardering` varchar(10) default NULL,
`ervaring` longtext,
`bank` enum('0','1') default '0',
`paypal` enum('0','1') default '0',
`e_gold` enum('0','1') default '0',
`check` enum('0','1') default '0',
`fgh50` enum('0','1') default '0',
`fgh100` enum('0','1') default '0',
`SMS` enum('0','1') default '0',
`chat` enum('0','1') default '0',
`18plus` enum('0','1') default '0',
`scam` enum('0','1') default '0',
`afgekeurd` enum('0','1') default '0',
`webmaster` enum('0','1') default '0',
`systeem` varchar(10) default NULL,
`opmerkingen` longtext,
PRIMARY KEY (`pkSiteID`)
) TYPE=MyISAM COMMENT='GPT-sites';

Access heeft een iets andere interpretatie van sql.
Wie kan me een eindje op weg helpen?

EDIT:
de db is hier (of hier) te vinden
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
PHP hulp

PHP hulp

06/12/2024 09:47:26
 
Stefan van Iwaarden

Stefan van Iwaarden

12/11/2006 00:41:00
Quote Anchor link
ik kan je niet helpen met mssql, maar ik kan je wel vertellen dat deze database niet geoptimaliseerd is, waarschijnlijk is deze al geimplementeerd in een applicatie, dus veranderen zal niet zo makkelijk meer gaan. Maar ik zou je als ik jou was zeker eens verdiepen in optimaliseren.
 
John de Boer

John de Boer

12/11/2006 00:58:00
Quote Anchor link
@Stefan
In welk opzicht is die niet genormaliseerd volgens jou?
(je moet niet teveel kijken naar de 'MySQL-stijl', ik heb het erbij gezet om een idee te krijgen. en bovendien heb ik het niet complete tabel-overzicht erin gezet.)
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 
Jan Koehoorn

Jan Koehoorn

12/11/2006 01:31:00
Quote Anchor link
Datumintervallen in Access bereken je zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
DateDiff ("d", date1, date2)

Het eerste argument geeft het interval aan (in dit geval dagen), het tweede en derde argument moeten van het type date of datetime zijn.
 
John de Boer

John de Boer

12/11/2006 15:10:00
Quote Anchor link
Dit is de query dan uiteindelijk geworden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT tblSites.[Naam GPT], tblSites.URL, [MijnGPT-verdiensten].Saldo, [MijnGPT-verdiensten].Punten, [MijnGPT-verdiensten].Geupdate, DateDiff("d",[MijnGPT-verdiensten].[Geupdate],Now()) AS Verschil
FROM tblSites INNER JOIN [MijnGPT-verdiensten] ON tblSites.pkSiteID = [MijnGPT-verdiensten].pkSiteID
WHERE (((DateDiff("d",[MijnGPT-verdiensten].[Geupdate],Now()))>=7))
ORDER BY DateDiff("d",[MijnGPT-verdiensten].[Geupdate],Now()) DESC , [MijnGPT-verdiensten].Geupdate DESC;
Gewijzigd op 01/01/1970 01:00:00 door John de Boer
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.