2010-11-23 3 views
0

J'ai 1 table.sqlite aide à la requête

jobs = ref(int primary key autoincrement) 
     _id(int) 
     date(date) 

_id représente une voiture particulière. Chaque rangée dans le tableau représente un travail pour une voiture, y compris la date à laquelle le travail s'est produit. Une voiture peut avoir beaucoup d'emplois.

J'ai besoin 2 sqlite commandes

  1. commande

    qui me faire le travail le plus récent pour chaque voiture à la table.

  2. commande qui me procurerait toutes les voitures qui n'ont pas eu de travail depuis 21 jours.

Merci d'avance.

Répondre

1

emploi le plus récent:

SELECT _id, max(date) FROM jobs GROUP BY _id 

Toutes les voitures sans emploi dans 21 derniers jours:

SELECT _id, max(date) FROM jobs GROUP BY _id HAVING max(date) < (date-21) 

Vous aurez à adopter la logique (date-21) selon la façon dont vous stockez dates (SQLite n'a pas de type DATE natif).

+0

désolé je n'étais pas si clair, j'ai réellement besoin de 2 commandes, j'ai édité mon poste merci Larry – brux

+0

J'ai mis à jour la réponse avec les deux requêtes. –

+0

merci, je vais essayer ça! – brux