Vous n'êtes pas connecté - 2 Membres connectés
Catégories
Graphisme
Flash (65)
Print (78)
Programmation
PHP (99)
Base de données (26)
ASP (2)
CSS (27)
Hardware
PC (42)
Mac (18)
Linux (5)
Divers
Blabla (301)
1145 Sujets
14794 Réponses
Programmation > Base de données > SQL - naab
SQL - naab
Salut la commu !
Étant une quiche en SQL j'aurais besoin de vos lumières sur un point.

Prenons deux tables (tbl_1 et tbl_2) liées.
Pour chaque enregistrement sur tbl_1 j'ai plusieurs enregistrements sur tbl_2, voilà la structure des tables :
tbl_1(t1_chp1 , t1_chp2, t1_chp3 ..)
tbl_2(t2_chp1, t2_chp2, t2_chp3 ..)

la table 2 à donc une double clée primaire définie par t2_chp1 (qui fait la liaison avec tbl_1) et un autre champ (pour avoir une clée unique)

Le probleme est que je voudrais récuperer la totalitée de tbl_1 et le dernier (et que le dernier) enregistrement de tbl_2 et là ça coince.
J'ai tenté avec des MAX(), des sous requetes et encore d'autres trucs tordus mais ça passe pas..

Voilà .. si vous avez compris quelque chose à mon explication et que vous avez une réponse, postez ! :D

labise
Posté le 02 06 2009 à 14h06
LaGothine - Membre - www

Réponses - SQL - naab
t2_chp2 est un auto increment ou pas ?
Posté le 02 06 2009 à 14h24
Narno - Modérateur - www
si c'est le cas, tu fais ta requete
select * from tbl_1, tbl_2
where t1_chp1 = t2_chp1
order by t2_chp2 DESC Limit 1

un truc du genre quoi
Posté le 02 06 2009 à 14h25
Narno - Modérateur - www
ouaip j'ai tenté quelque chose de similaire (la clé est pas autoinc mais y a un champ date alors je m'en servais pareil avec DESC et LIMIT) mais ça merde aussi


SELECT *
FROM tbl_1, tbl_2
WHERE t1_chp1 = t2_chp1 And t2_chp_date = (SELECT t2_chp_date FROM tbl_2 ORDER BY t2_chp_date DESC LIMIT 0,1)

En fait je crois que le probleme viens du fait que je dois afficher tous les enregistrement de tbl_1, pour donner une idée c'est comme si dans un blog t'affiche tous les billets et à coté le dernier commentaire associé ..
Posté le 02 06 2009 à 14h42
LaGothine - Membre - www
 le plus simple c'est de faire une boucle sur ta table1 et de faire une requete pour chaque enregistrement afin d'aller prendre l'enregistrement qui t'intéresse dans la table2... enfin ca me parait diffcile à faire en une seule requete, tu aurais forcément un pb de trie même avec une jointure genre (ex du blog + parlant) :


SELECT blog.*, commentaires.* FROM blog LEFT JOIN commentaires ON(blog.ID=commentaire.ID) ORDER BY commentaires.date_commentaire DESC
Posté le 02 06 2009 à 16h23
benzor - Administrateur - www
j'avais déja croisé JOIN/ON mais j'avais jamais mis le nez dedans, on dirais que c'est le moment !

Merci benz j'étudie ça tout de suite.

ÉDIT: en fait JOIN ou pas le résultat est le même on dirais .. bon je voulais éviter de devoir traiter ça en php mais va faloir j'ai l'impression .. C'est partiiiiii
Posté le 02 06 2009 à 16h44
LaGothine - Membre - www
Ouais donc jai fait plusieurs requetes différentes, une par table presque et je trie apres via php. J'aurais appris que la méga-mono-requete c'est pas le top ^^
Posté le 03 06 2009 à 10h48
LaGothine - Membre - www
ça me rassure quelque part :D

La mono requête qui ouvre les voix du ciel :D n'existe pas :D
Posté le 03 06 2009 à 11h56
o0o - Administrateur - www
avec un lien ODBC on peux pas se connecter au ciel ?
bon jreprends python voir si y a une librairie au pire ..

(holaaa fin de journée, n'importe quoi)
Posté le 03 06 2009 à 18h44
LaGothine - Membre - www
 Ne sous-estimez pas le pouvoir du SQL :-).

J'ai peut-être rien compris mais ça me semble tout à fait faisable :

SELECT * FROM (SELECT c.*, b.* 
                FROM comments as c, blog as b
                WHERE c.blog_id = b.blog_id
                ORDER BY c.DATE DESC
            ) as temp
GROUP BY temp.blog_id
(testé avec MySQL5/InnoDB) Note : j'ai mis des machin.* dans la requète imbriquée pour simplifier l'exemple mais, au-delà du fait que c'est mal, ça peut aussi faire foirer la requète si les deux tables ont un champ avec le même nom. Ça se corrige facilement en utlisant des alias ou en ne sélectionnant que les champs pertinents.
Posté le 12 06 2009 à 11h49
symzo - Membre - www
Sujets Base de données
<< 1 2 3 >>
Gestion Club (...)
Auteur : Dnepr
Posté le 08 10 2009 à 18h11
12 Réponses (Nouveau sujet)
Sujet visité 2666 fois
encore du tri (...)
Auteur : askhanir
Posté le 24 02 2010 à 20h15
3 Réponses (Nouveau sujet)
Sujet visité 1100 fois
PDO ou mysqli
Auteur : Pierrot
Posté le 07 09 2009 à 15h13
6 Réponses (Nouveau sujet)
Sujet visité 1475 fois
sql math jointure (...)
Auteur : doss
Posté le 13 08 2009 à 15h15
7 Réponses (Nouveau sujet)
Sujet visité 1391 fois
phpMyadmin
Auteur : o0o
Posté le 20 07 2009 à 10h23
4 Réponses (Nouveau sujet)
Sujet visité 1210 fois
CRUD php/mysql
Auteur : o0o
Posté le 08 07 2009 à 15h51
4 Réponses (Nouveau sujet)
Sujet visité 1667 fois
Connexion à distance
Auteur : LaGothine
Posté le 15 06 2009 à 13h01
9 Réponses (Nouveau sujet)
Sujet visité 2140 fois
SQL - naab
Auteur : LaGothine
Posté le 02 06 2009 à 14h06
9 Réponses (Nouveau sujet)
Sujet visité 1562 fois
Tri conditionnel
Auteur : askhanir
Posté le 27 04 2009 à 10h05
4 Réponses (Nouveau sujet)
Sujet visité 1411 fois
auto incremente et (...)
Auteur : senkante
Posté le 03 04 2008 à 19h27
12 Réponses (Nouveau sujet)
Sujet visité 2444 fois
<< 1 2 3 >>
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006