2010-11-04 7 views
-1

J'ai une table nommée enregistrement qui contient quatre colonne branche, compte, nom, mois. maintenant je veux trouver les données de cette table qui sont présentes dans le mois courant, disons month = 3 mais pas présent dans le mois précédent, disons month = 2. comment faire???besoin d'aide sur select clause

dire que j'ai ces valeurs: 4 214 jones 3 4 213 jim 3 4 123 nitu 2 4 213 jim 2

maintenant je veux trouver l'enregistrement ligne 4 214 jones 3 puisqu'il est le nouveau record et il n'était pas présent dans le dossier du mois précédent. comment faire?

+1

Quel type de DB utilisez-vous? –

+0

Dites-nous quel type de base de données vous utilisez .... –

Répondre

3

Sur le serveur SQL:

SELECT branch,account,name,month FROM record WHERE Month = MONTH(GETDATE()) 

GETDATE() obtient la date et le mois MONTH() obtient sur une date ...

Vous pouvez utiliser YEAR(), DAY() fonctions etc pour de telles choses.

Sur MySQL il suffit de remplacer MONTH(GETDATE()) avec

MONTH(CURDATE()) 

Pour sélectionner un enregistrement qui n'a pas été présent dans les mois précédents ajouter ceci ...

SELECT branch,account,name,month FROM record 
WHERE Month = MONTH(GETDATE()) 
AND NOT EXISTS 
(SELECT NULL FROM record rec1 WHERE rec1.account = record.account and Month < MONTH(GETDATE())) 
+0

peut-être que je ne peux pas expliquer ce que je veux. J'ai édité la question. Vérifiez s'il vous plaît – riyana

Questions connexes