J'ai une base de données contenant des travailleurs et trois tâches différentes qu'ils peuvent effectuer. Chaque table de tâches indique quel travailleur a effectué cette tâche, quand et combien de temps cela a pris.Date la plus récente pour chaque identifiant, dans une table de syndication
Ainsi, les tables se présenter comme suit:
Table des travailleurs:
-------------------------
|worker_id | worker_name|
|----------|------------|
| | |
tables de tâches:
------------------------------------
|task_id | worker_id | date | time |
|--------|-----------|------|------|
| | | | |
Chaque table de travail semble comme ci-dessus, appelé Task1, task2, TASK3. Il n'est pas possible de les avoir dans la même table car chaque tâche a d'autres colonnes spécifiques à elle-même qui ne sont pas requises pour cette union, mais qui sont utilisées ailleurs.
L'union des trois tables de travail à utiliser est la suivante:
SELECT `date`, time FROM task1
UNION ALL SELECT `date`, time FROM task2
UNION ALL SELECT `date`, time FROM task3
Comment peut-on aller à écrire une instruction select, en utilisant l'union ci-dessus, pour revenir chaque identifiant et le nom des travailleurs, ainsi que la date et la durée de leur tâche la plus récente.
J'ai essayé d'utiliser la réponse choisie de la question suivante, mais en remplaçant la table wp_posts avec l'union des trois tables de travail, sans succès: MySQL order by before group by
Je voudrais toujours avoir une table de tâches principale. – Strawberry
Comment géreriez-vous différentes tâches ayant différentes autres colonnes? – user4370541
Avoir les données de l'annexe dans des tableaux séparés, comme vous le suggérez, mais juste avoir les données communes stockées dans un seul endroit – Strawberry