inizar Posté 4 Juillet 2008 Posté 4 Juillet 2008 Bonjour ; j'ai mis une requête sql mais je ne sais pas pourquoi ça marche pas , peu être j'ai oublié quelque chose!! c'est une requête avec UNION de deux tables : $sql='SELECT id,titre FROM champ1 order by id DESC LIMIT 1 UNION SELECT id,titre FROM champ2 order by id DESC LIMIT 1 '; j'ai erreur de requête merci
samyghan Posté 5 Juillet 2008 Posté 5 Juillet 2008 (modifié) Je ne connais pas la syntaxe UNION mais je te propose une autre solution que je connais : SELECT champ1.id, champ1.titre, champ2.id, champ2.titreFROM champ1, champ2ORDER BY champ1.id, champ2.id DESCLIMIT 1; Cependant, si tu fais une jointure, il manque le WHERE clé primaire = clé étrangére, peux tu préciser exactement ce que tu veux faire et la structure de ta base de donnée ? EDIT : fais attention inizar, tes deux derniers posts sont dans les mauvaises catégories celui-ci aurai du aller dans SQL et le précédent dans Javascript Modifié 5 Juillet 2008 par samyghan
inizar Posté 5 Juillet 2008 Auteur Posté 5 Juillet 2008 Merci pour votre réponse ; oui je suis désole , pour la méthode UNION j'ai lu que ça marché avec une version 4 ou plus mais quand je l'ai essayé ça na pas marché pourtant j'ai la version 5 sur mon hebergeur mais bon je vais essayé la votre la structure de ma base est la suivante : j'ai plusieurs tables 12 lol mais c'est le même principe avec deux exemple : international -id -titre -presentation -article -file -date juridique -id -titre -presentation -article -file -date (pareil) pour les autres , je voulais faire une requete qui va me permettre d'afficher les derniers post avec limit 1 le dernier post dans une table j'espère que j'étais clair
Portekoi Posté 6 Juillet 2008 Posté 6 Juillet 2008 Bonsoir, Quand tu dis "j'ai erreur de requête ", peux tu mettre le texte de l'erreur? Portekoi
inizar Posté 7 Juillet 2008 Auteur Posté 7 Juillet 2008 oui , quand j'ai mis ça : $sql="SELECT international.id, international.titre, politique.id, politique.titreFROM international, politique ORDER BY international.id, politique.id DESC "; yvais pas erreur mais me donné que l'article de la table politique pourtant ma table international n'est pas vide et quand j'ai mis ça : $sql="SELECT * FROM international ORDER BY date DESC limit 1 UNION SELECT * FROM economique ORDER BY date DESC limit 1 UNION SELECT * FROM politique ORDER BY date DESC limit 1 "; javais erreur : Erreur : Incorrect usage of UNION and ORDER BY merci
Marie-Aude Posté 7 Juillet 2008 Posté 7 Juillet 2008 Ta première syntaxe est la bonne, mais essaie avec LIMIT 0, 1 SELECT * FROM(SELECT international.id AS ID, international.titre AS titre FROM international LIMIT 0, 1 UNION SELECT politique.id AS ID, politique.titre AS titre FROM politique LIMIT 0, 1 ) selectionORDER BY ID DESC La façon dont je l'ai écrit va faire un tri global sur l'ensemble des champs de la requête. Si tu veux avoir uniquement le champ ID le plus élevé dans chaque table tu peux remettre le ORDER BY ID DESC à l'intérieur de chaque clause. Sinon je pense qu'un SELECT MAX(id) AS ID, titre AS titre FROM international GROUP BY ID UNION SELECT MAX(id) AS ID, titre AS titre FROM politique GROUP BY ID doit le faire aussi mais je n'ai pas testé
inizar Posté 7 Juillet 2008 Auteur Posté 7 Juillet 2008 Bonjour , merci beaucoup , le dernier code marche trés bien et surtout merci du temps que vous avez pris... bonne journée @+
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant