Flux rss
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

SQL- Select MAX(Id)

brofa, le vendredi 17 décembre 2004 à 16:28:40 
 Signaler ce message aux modérateurs

Bonjour à tous,

J'ai un pb de syntaxe!
J'ai 2 tables Devis et Commande qui ont un IdDevis

j'ai 1 requete
$reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ;";

je voudrais lors d'un enregistrement le IdDevis s'enregistre dans la table Commande

Q: peut-on faire une jointure entre les 2 tables et en utilisant MAX ?

merci
Brofa

1

car0, le vendredi 17 décembre 2004 à 17:23:16

Lors d'un enregistrement... d'une insertion tu veux dire? Pas sûr de comprendre... Ce qui suit pourrait-il d'aider?

INSERT INTO Commande (ldDevis) SELECT MAX(ldDevis) FROM Devis

Ceci est valide en Transact SQL. Je n'ai jamais testé si MySQL le prend... Il faut faire attention à la manière dont la table Commande est déclarée. Aux champs autonumber et aux colonnes qui n'acceptent pas les null et n'ont pas de valeur par défaut, notament (faut ajouter des colonnes dans le SELECT alors).

Caroline

Répondre à car0

2

yawheh, le dimanche 27 janvier 2008 à 15:43:46

Tu as un ; en trop dans ta requête
$reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ;";
Doit être
$reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ";

Répondre à yawheh

3

MrMcCoy, le dimanche 8 février 2009 à 01:41:21
  • +1

Tu as un ; en trop dans ta requête
$reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ;";
Doit être
$reqNumDevis = "SELECT MAX(IdDevis) FROM DEVIS ";


Désolé, mais une requête SQL se termine toujours par un ; et une ligne de commande en php aussi alors 2 ;! Aussi pour ce qui est de la fonction Max() mySQL n'est pas aussi puissant que certain autre SGBD comme oracle par exemple. Il tolère les requête imbriquer à condition qu'elle ne sois pas récursive sur la même table. Sinon je te propose la fonction auto_increment(), elle se fait ors du create de la table. Si c'est une nécessité de le faire à la main fais 2 requêtes.

$requete = "SELECT MAX(IdDevis) FROM DEVIS ;"; 
$result = mysql_query($requete, $link/*connexion avec la BD*/) or die($query . " - " . mysql_error());//retourne une erreur et ferme la connexion en cas d'erreur

$requete = "INSERT INTO COMMANDE (IdDevis) VALUE ( ' " . $result ." ');";
mysql_query($requete, $link/*connexion avec la BD*/) or die($query . " - " . mysql_error());


En me relisant je me suis rendu compte que je ne répondait pas tout à fait a ta question mais ça peu surment pas nuire! Bonne Chance!

Répondre à MrMcCoy

4

MrMcCoy, le dimanche 8 février 2009 à 01:56:19
  • +1

J'ai fais une erreur dans mon code, juste avant...


$requete = "SELECT MAX(IdDevis) FROM DEVIS ;"; 
$result = mysql_query($requete, $link/*connexion avec la BD*/) or die($query . " - " . mysql_error());//retourne une erreur et ferme la connexion en cas d'erreur

$max=mysql_fetch_array($result);

//un petit test pour la forme! c'est important de mettre le zero puisque la commande retourne un scalaire et la fonction un tableau
echo $max[0];

$requete = "INSERT INTO COMMANDE (IdDevis) VALUE ( ' " . $max[0] ." ');";
mysql_query($requete, $link/*connexion avec la BD*/) or die($query . " - " . mysql_error());

Répondre à MrMcCoy

5

 Timith, le dimanche 15 février 2009 à 19:46:07

La requête passée à la fonction mysql_query ne doit pas finir avec un ';'
c'est la fonction qui prend ça en charge

à voir : http://fr.php.net/mysql_query

Répondre à Timith
[PHP/MySQL] Récupérer valeur MAX (Résolu) Bonjour, J'aimerai retrouver la valeur MAX des ID d'une base de données pour ensuite faire un calcul. Voilà mon code : $query = "SELECT MAX(lien_id) FROM liens GROUP BY lien_id "; $result = mysql_query ($query) or die ("Exécution de la requête... www.commentcamarche.net/forum/affich-1691973-php-mysql-recuperer-valeur-max
Le max en SQL ?? dans une clause WHERE : kel est l'instruction a taper pour selectionner le max d'une colonne moi g mis : SQL = "SELECT * FROM matable" SQL = SQL & "WHERE (ANNEE=MAX(ANNEE))" mais ca marche pas! www.commentcamarche.net/forum/affich-98663-le-max-en-sql
[PL/SQL] select distinct Bonjour ! Je m'appelle Yves. J'aimerai bien savoir a quoi sert l'instruction PL/SQL distinct exemple Ca me ferai plaisir si vous m'expliquiez ces deux lignes de code: 1) (select distinct Log_Baur from tgfpty) 2) (select distinct PakNr, PakNr parent... www.commentcamarche.net/forum/affich-261578-pl-sql-select-distinct
SQL - Select des valeurs uniques (Résolu)Bonjour, J'ai un petit soucis en sql, c'est surement tout con mais j'y arrve pas. Déjà je fais ça sous neooffice (= Oo) C'est très simple : j'ai une requête un truc comme ça : Taxonomie numClone Proteobacteria 1 Actinobacteria 2 Firmicutes 1 Archeae 5... www.commentcamarche.net/forum/affich-4647350-sql-select-des-valeurs-uniques
SQL > select count distinct group by ACCESSBonjour, j'ai un problème avec une requete SQL qui intégre un DISTINCT, un COUNT et un GROUP BY. Voici les champs de ma db : URL, IP, DATE1 A chaque connexion, on enregistre donc l'IP, la date et l'URL. En fait, je voudrais connaitre le nombre de... www.commentcamarche.net/forum/affich-5138406-sql-select-count-distinct-group-by-access
SQL : count(*) NULL (Résolu)Bonjour, j'ai un souci avec une requete SQL voici la requete: SELECT count(DISTINCT a.id), count(DISTINCT b.id) , count(DISTINCT c.id), count(DISTINCT d.id) FROM (SELECT id FROM table WHERE prj_id="18" AND status="10") a, (SELECT id FROM table WHERE... www.commentcamarche.net/forum/affich-4231318-sql-count-null
SQL - Commande SELECTLe langage de manipulation de données Le SQL est à la fois un langage de manipulation de données et un langage de définition de données. Toutefois, la définition de données est l'oeuvre de l'administrateur de la base de données, c'est pourquoi la... www.commentcamarche.net/contents/sql/sqlsel.php3
SQL - JointuresExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se... www.commentcamarche.net/contents/sql/sqljoint.php3
SQL - Opérations ensemblistesLes opérations ensemblistes Les opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs : UNION INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans... www.commentcamarche.net/contents/sql/sqlensem.php3