Vous n'êtes pas connecté - 0 membre connecté
Catégories
Graphisme
Flash (65)
Print (78)
Programmation
PHP (99)
ASP (2)
CSS (27)
Hardware
PC (43)
Mac (18)
Linux (5)
Divers
Blabla (302)
1149 Sujets
14819 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
Derniers sujets
Sous Reseau modem (...)
Auteur : o0o
Posté le 23 08 2010 à 16h22
4 Réponses (Nouveau sujet)
Sujet visité 1312 fois
Proxy
Auteur : o0o
Posté le 10 08 2010 à 15h46
6 Réponses (Nouveau sujet)
Sujet visité 1638 fois
réalité augmentée
Auteur : ju2x
Posté le 06 08 2010 à 15h48
4 Réponses (Nouveau sujet)
Sujet visité 1127 fois
Oeil de poisson
Auteur : Neoblue
Posté le 03 08 2010 à 15h19
5 Réponses (Nouveau sujet)
Sujet visité 859 fois
Bloquer les (...)
Auteur : o0o
Posté le 29 07 2010 à 17h10
14 Réponses (Nouveau sujet)
Sujet visité 1374 fois
[RESOLU] (...)
Auteur : Pierrot
Posté le 25 06 2010 à 17h21
8 Réponses (Nouveau sujet)
Sujet visité 1831 fois
Jévédéo
Auteur : o0o
Posté le 25 07 2010 à 20h54
19 Réponses (Nouveau sujet)
Sujet visité 897 fois
Conseil objectif
Auteur : Neoblue
Posté le 30 12 2008 à 14h39
20 Réponses (Nouveau sujet)
Sujet visité 2158 fois
iphone APN
Auteur : o0o
Posté le 27 07 2010 à 19h02
6 Réponses (Nouveau sujet)
Sujet visité 556 fois
Recyclage (?)
Auteur : o0o
Posté le 27 07 2010 à 10h38
4 Réponses (Nouveau sujet)
Sujet visité 547 fois
Mentions légales   -   Crédits   -   Nous contacter   -   © Benzor 2006