Problème lors d'une requette du type SELECT * FROM (SELECT
Posté : 30 déc. 2006, 04:06
Bonsoir à tous
Voilà bien longtemps que je n'avais pas eu besoin de mes maitres en php. Je reviens vers vous avec un gros problème ...
Premierement la requette :
Cette requette me renvoie l'erreur dans phpmyadmin :
Cette requette me renvoie bien une table avec les ID des deux autres...
C'est au passage du "Select * From (select * from UNION ALL select * from) as d" que les problèmes arrivent ...
J'ai donc ce problème sur cette "petite" requette ...
Et pour ceux qui trouvent ca simple j'ai le meme bug sur sa grande soeur:

Page incriminé
INFO complémentaire:
Pas d'erreur en local avec une version 5 de mysql
Erreur sur le net avec la version 4.0.25 de mysql
PS: bonne année tout de meme
Voilà bien longtemps que je n'avais pas eu besoin de mes maitres en php. Je reviens vers vous avec un gros problème ...
Premierement la requette :
Code : Tout sélectionner
SELECT count(id) as nombre FROM ( SELECT id FROM live_com WHERE id_user = 1 UNION ALL SELECT id FROM news_com WHERE user = 1 )as dPour debuguer j'ai découper la requette. Derniere étape fonctionnant :#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELECT count(id) as nombre FROM ( SELECT id FROM live_com WHERE
Code : Tout sélectionner
SELECT id FROM live_com WHERE id_user = 1 UNION ALL SELECT id FROM news_com WHERE user = 1C'est au passage du "Select * From (select * from UNION ALL select * from) as d" que les problèmes arrivent ...
J'ai donc ce problème sur cette "petite" requette ...
Et pour ceux qui trouvent ca simple j'ai le meme bug sur sa grande soeur:
$sql = "
SELECT
date,
titre,
url
FROM
(
SELECT
live_com.date,
CONCAT( CONCAT( CONCAT( CONCAT( 'live/', live.nom_url ) , '/news-LIRE-' ) , live_com.id_art ) , '.html#c0' ) AS url,
live_news.titre as titre
FROM live_com, live, live_news
WHERE
live_com.id_user ='$id'
AND live_com.art_type =1
AND live.id = live_com.id_live
AND live_news.id = live_com.id_art
GROUP BY live_com.date
UNION ALL
SELECT
live_com.date,
CONCAT( CONCAT( CONCAT( CONCAT( 'live/', live.nom_url ) , '/interview-LIRE-' ) , live_com.id_art ) , '.html#c0' ) AS url,
CONCAT( 'Interview: ', live_inter.titre)as titre
FROM live_com, live, live_inter
WHERE
live_com.id_user ='$id'
AND live_com.art_type =2
AND live.id = live_com.id_live
AND live_inter.id = live_com.id_art
GROUP BY live_com.date
UNION ALL
SELECT
news_com.date,
CONCAT( CONCAT( 'news-LIRE-0-', news_com.news ) , '.html#c0' ) AS url,
news.titre
FROM
news_com,
news
WHERE
news_com.user = '$id'
AND news.id = news_com.news
GROUP BY news_com.date
) AS d
ORDER BY date DESC
LIMIT 8";
J'espere que vous pourrez m'aider ... Il est maintenant 3h du matin et je n'ai pas de solution Page incriminé
INFO complémentaire:
Pas d'erreur en local avec une version 5 de mysql
Erreur sur le net avec la version 4.0.25 de mysql
PS: bonne année tout de meme