Requête SQL

Fermé
martinlef Messages postés 1 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 1 février 2010 - 1 févr. 2010 à 22:16
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 1 févr. 2010 à 22:52
Bonjour,

J'implore votre aide pour résoudre un problème sur lequel je m'arrache les cheveux depuis quelques heures. Le voici.

J'ai 2 tables qui n'ont pas grand chose en commun si ce n'est un champ "datetime" : une table Fiche et une table Avis. J'ai rédigé 2 requêtes me permettant d'afficher les informations qui m'intéressent dans chacune des tables. Mais je cherche maintenant à réunir ces résultats puis à les trier en fonction du champ datetime.

Je souhaite aboutir au résultat suivant :

10h13 : La fiche bidule a été créée
10h17 : La fiche truc a été créée
11h00 : MrX a commenté la fiche bidule
11h10 : La fiche chose a été créée
11h45 : MrY a commenté la fiche truc
...etc

Un grand merci d'avance pour votre aide ;-)

Voici la structure de mes tables et mes requêtes :

CREATE TABLE `Avis` (
`Id` int(5) NOT NULL auto_increment,
`Id_auteur` smallint(6) NOT NULL,
`Id_fiche` smallint(6) NOT NULL,
`Commentaire` text collate latin1_german2_ci NOT NULL,
`Date` datetime NOT NULL,
`Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`Id`)
)

CREATE TABLE `Fiches` (
`Id` int(5) NOT NULL auto_increment,
`Nom` varchar(200) character set latin1 collate latin1_german1_ci NOT NULL,
`Artiste` varchar(200) collate latin1_german2_ci NOT NULL,
`Annee` year(4) NOT NULL,
`Timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`Date` datetime NOT NULL,
`Pochette` varchar(200) collate latin1_german2_ci NOT NULL,
`Id_categorie` smallint(6) NOT NULL,
PRIMARY KEY (`Id`)
)

SELECT FI.Id as Id, FI.Nom as Titre, Artiste, Pochette, DATE_FORMAT(FI.Date, \'%d/%m/%Y à %H:%i\') as Date
FROM Fiches FI

SELECT AV.Id as Id, AV.Id_auteur as Auteur, Commentaire, DATE_FORMAT(AV.Date, \'%d/%m/%Y à %H:%i\') as Date
FROM Avis AV

1 réponse

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
1 févr. 2010 à 22:52
Salut,
une requete du style devrait marcher...
SELECT DATE_FORMAT(FI.Date, '%d/%m/%Y à %H:%i') as Date,a.commentaire FROM Fiches FI,avis a where DATE_FORMAT(fi.date,'%d%m%Y %H:%i')=DATE_FORMAT(a.date,'%d%m%Y %H:%i') order by fi.date;
J'ai pas testé pour le order by....à verifier!!;)
@+
0