SELECT sur 2 tables, nb colonnes !=
Résolu
liadea
Messages postés
127
Date d'inscription
Statut
Membre
Dernière intervention
-
Darkito Messages postés 1191 Date d'inscription Statut Membre Dernière intervention -
Darkito Messages postés 1191 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
2 tables t1 et t2
données = d
dans la 1ere j'ai besoin de plusieurs données dont 2 doivent être DISTINCT
SELECT DISTINCT t1.d1 , t1.d2
mais aussi d'autres données de cette table mais qui ne doivent pas être distinct
SELECT t1.d3, t1.d4, t1.d5
mais aussi de faire un select sur la 2eme table avec 3 données
SELECT t2.d1 , t2.d2, t2.d3
En résumé :
SELECT DISTINCT t1.d1 , t1.d2 FROM t1
SELECT t1.d3, t1.d4, t1.d5 FROM t1
SELECT t2.d1 , t2.d2, t2.d3 FROM t1, t2 WHERE t1.d5 = t2.d1 AND t2.d2 = "toto" AND t2.d3 ="tutu"
Est - ce clair ?
Est - ce possible en une seule requête car le résultat de cette requête est écrit dans un fichier texte que j'envoie ensuite par mail !
Merci d'avance
2 tables t1 et t2
données = d
dans la 1ere j'ai besoin de plusieurs données dont 2 doivent être DISTINCT
SELECT DISTINCT t1.d1 , t1.d2
mais aussi d'autres données de cette table mais qui ne doivent pas être distinct
SELECT t1.d3, t1.d4, t1.d5
mais aussi de faire un select sur la 2eme table avec 3 données
SELECT t2.d1 , t2.d2, t2.d3
En résumé :
SELECT DISTINCT t1.d1 , t1.d2 FROM t1
SELECT t1.d3, t1.d4, t1.d5 FROM t1
SELECT t2.d1 , t2.d2, t2.d3 FROM t1, t2 WHERE t1.d5 = t2.d1 AND t2.d2 = "toto" AND t2.d3 ="tutu"
Est - ce clair ?
Est - ce possible en une seule requête car le résultat de cette requête est écrit dans un fichier texte que j'envoie ensuite par mail !
Merci d'avance
A voir également:
- SELECT sur 2 tables, nb colonnes !=
- Faire 2 colonnes sur word - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Tables des matières word - Guide
- Nb si en anglais - Guide
27 réponses
Un p'tit UP svp !
juste pour me dire s'il manque quelque chose ou si mon code est completement faux !
Merci d'avance
juste pour me dire s'il manque quelque chose ou si mon code est completement faux !
Merci d'avance
J'ai pas eu le temps de regarder hier :p
Ton problème viens du fait que la requête 2 doit être faite sur chacun des résultats de la requête 1
(les corrections en gras) (il suffit de déplacer la parenthèse fermante du while de la requête 1 en fait)
J'ai pas testé donc c'est peu-être perfectible.
Ton problème viens du fait que la requête 2 doit être faite sur chacun des résultats de la requête 1
(les corrections en gras) (il suffit de déplacer la parenthèse fermante du while de la requête 1 en fait)
$today = date("Y-m-d"); $req1 = "SELECT DISTINCT EmailENTITE,ENTITE FROM ua JOIN notifications ON ua.AdresseIP = notifications.AdresseIP WHERE notifications.ETAT='1' AND notifications.DateUA = '$today'"; $res1 = mysql_query($req1) or die('Erreur SQL !<br />' . $req1 . '<br />' . mysql_error()); //Récuperation des résultats while ($rowTitle = mysql_fetch_row($res1)){ $mailentTitle = $rowTitle [0]; $entiteTitle = $rowTitle [1]; echo" <br/> <br/>MAIL ENTITE : $mailentTitle <br/>ENTITE : $entiteTitle <br/> "; $fp = fopen("$entiteTitle.txt","a"); fwrite($fp, "\nNOM NETBIOS"); fwrite($fp, "\tSOURCE"); fwrite($fp, "\tADRESSE IP"); fwrite($fp, "\tMAIL ENTITE"); fwrite($fp, "\tENTITE"); fwrite($fp, "\tSITE"); fwrite($fp, "\tDATEUA"); fwrite($fp, "\tETAT"); $req2 = "SELECT '$mailent','$entite',ua.NomNetbios,ua.SourceMAJ,ua.AdresseIP,ua.SITE,notifications.DateUA,notifications.ETAT FROM ua JOIN notifications ON ua.AdresseIP = notifications.AdresseIP AND notifications.ETAT='1' AND notifications.DateUA = '$today' WHERE ENTITE = '$entiteTitle' AND EmailENTITE = '$mailentTitle '"; $res2 = mysql_query($req2) or die('Erreur SQL !<br />' . $req2 . '<br />' . mysql_error()); //Récuperation des résultats while ($row = mysql_fetch_row($res2)){ $mailent = $row[0]; $entite = $row[1]; $netbios = $row[2]; $source = $row[3]; $ip = $row[4]; $site = $row[5]; $date = $row[6]; $eta = $row[7]; $hl = "Hors Ligne"; $etat=STR_REPLACE("1","$hl","$eta"); echo" <br/> <br/>MAIL ENTITE : $mailent <br/>ENTITE : $entite <br/>NOM NETBIOS : $netbios <br/>SOURCE MAJ : $source <br/>ADRESSE IP : $ip <br/>SITE : $site <br/>DATE : $date <br/>ETAT : $etat <br/> "; fwrite($fp, "\n$netbios"); fwrite($fp, "\t$source"); fwrite($fp, "\t$ip"); fwrite($fp, "\t$mailent"); fwrite($fp, "\t$entite"); fwrite($fp, "\t$site"); fwrite($fp, "\t$date"); fwrite($fp, "\t$etat"); } fclose($fp); }
J'ai pas testé donc c'est peu-être perfectible.
Bonjour,
Merci c'est sympa
Mais maintenant je n'ai plus aucun affichage ni aucun fichier de crées j'ai essayé plusieurs modif et rien !
Merci c'est sympa
Mais maintenant je n'ai plus aucun affichage ni aucun fichier de crées j'ai essayé plusieurs modif et rien !
J'ai testé en simulant les appels SQL et ca a l'air de marcher avec le code suivant :
$today = date("Y-m-d"); $req1 = "SELECT DISTINCT EmailENTITE,ENTITE FROM ua JOIN notifications ON ua.AdresseIP = notifications.AdresseIP WHERE notifications.ETAT='1' AND notifications.DateUA = '$today'"; $res1 = mysql_query($req1) or die('Erreur SQL !<br />' . $req1 . '<br />' . mysql_error()); //Récuperation des résultats while ($rowTitle = mysql_fetch_row($res1)){ $mailentTitle = $rowTitle[0]; $entiteTitle = $rowTitle[1]; echo" <br/> <br/>MAIL ENTITE : $mailentTitle <br/>ENTITE : $entiteTitle <br/> "; $fp = fopen("$entiteTitle.txt","a"); fwrite($fp, "\nNOM NETBIOS"); fwrite($fp, "\tSOURCE"); fwrite($fp, "\tADRESSE IP"); fwrite($fp, "\tMAIL ENTITE"); fwrite($fp, "\tENTITE"); fwrite($fp, "\tSITE"); fwrite($fp, "\tDATEUA"); fwrite($fp, "\tETAT"); $req2 = "SELECT '$mailentTitle','$entiteTitle',ua.NomNetbios,ua.SourceMAJ,ua.AdresseIP,ua.SITE,notifications.DateUA,notifications.ETAT FROM ua JOIN notifications ON ua.AdresseIP = notifications.AdresseIP AND notifications.ETAT='1' AND notifications.DateUA = '$today' WHERE ENTITE = '$entiteTitle' AND EmailENTITE = '$mailentTitle'"; $res2 = mysql_query($req2) or die('Erreur SQL !<br />' . $req2 . '<br />' . mysql_error()); //Récuperation des résultats while ($row = mysql_fetch_row($res2)){ $mailent = $row[0]; $entite = $row[1]; $netbios = $row[2]; $source = $row[3]; $ip = $row[4]; $site = $row[5]; $date = $row[6]; $eta = $row[7]; $hl = "Hors Ligne"; $etat=STR_REPLACE("1","$hl","$eta"); echo" <br/> <br/>MAIL ENTITE : $mailent <br/>ENTITE : $entite <br/>NOM NETBIOS : $netbios <br/>SOURCE MAJ : $source <br/>ADRESSE IP : $ip <br/>SITE : $site <br/>DATE : $date <br/>ETAT : $etat <br/> "; fwrite($fp, "\n$netbios"); fwrite($fp, "\t$source"); fwrite($fp, "\t$ip"); fwrite($fp, "\t$mailent"); fwrite($fp, "\t$entite"); fwrite($fp, "\t$site"); fwrite($fp, "\t$date"); fwrite($fp, "\t$etat"); } fclose($fp); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Quand exécute la page PHP, tu as une erreur ou juste une page blanche ?
tu peux essayer de quelques "echo" dans la page afin de débugger...
tu peux essayer de quelques "echo" dans la page afin de débugger...
MILLES EXCUSES
mais j'en ai plein le citron là lol
j'avais une erreur dans ma requête voila pkoi la page elle ne trouvait rien !
Et bien tu sais koi
MMMMMMMMEEEEEEEEEERRRRRRRRRRCCCCCCCCCIIIIIIIIII !!!!!!!!!!!!
BOCOUP
BOCOUP
je le met pas tout de suite à résolu je vais le tester dans ma fonction mail avant LOL
un grand grand merci après 2 semaines de galere MERCI !!
mais j'en ai plein le citron là lol
j'avais une erreur dans ma requête voila pkoi la page elle ne trouvait rien !
Et bien tu sais koi
MMMMMMMMEEEEEEEEEERRRRRRRRRRCCCCCCCCCIIIIIIIIII !!!!!!!!!!!!
BOCOUP
BOCOUP
je le met pas tout de suite à résolu je vais le tester dans ma fonction mail avant LOL
un grand grand merci après 2 semaines de galere MERCI !!