SQL : select d'un seul enregistrement
Résolu/Fermé
Vasu
Messages postés
25
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
12 décembre 2008
-
24 oct. 2008 à 15:10
Vasu Messages postés 25 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 12 décembre 2008 - 30 oct. 2008 à 09:05
Vasu Messages postés 25 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 12 décembre 2008 - 30 oct. 2008 à 09:05
A voir également:
- SQL : select d'un seul enregistrement
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
- Requete sql pix - Forum PHP
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
- Requête sql date supérieure à ✓ - Forum Programmation
4 réponses
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
30 oct. 2008 à 08:57
30 oct. 2008 à 08:57
Salut,
essaye:
SELECT /* CM, 27-jan-2005 */
, device.name
, device.user
,max( device_connection.dt_end)
FROM device, device_connection
WHERE
device.id = device_connection.device_id
group by device.name, device.user
ORDER BY device.name
essaye:
SELECT /* CM, 27-jan-2005 */
, device.name
, device.user
,max( device_connection.dt_end)
FROM device, device_connection
WHERE
device.id = device_connection.device_id
group by device.name, device.user
ORDER BY device.name
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 oct. 2008 à 15:15
24 oct. 2008 à 15:15
salut,
select u.nom,p.prenom,i.inv_name from utilisateur u,inventaire i where u.inv_id=i.inv_id and i.inv_date=(select max(inv_date) from inventaire)
Ca te donne quoi?
Ou sinon comment est faite ta requete?
@+
select u.nom,p.prenom,i.inv_name from utilisateur u,inventaire i where u.inv_id=i.inv_id and i.inv_date=(select max(inv_date) from inventaire)
Ca te donne quoi?
Ou sinon comment est faite ta requete?
@+
Vasu
Messages postés
25
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
12 décembre 2008
1
24 oct. 2008 à 16:05
24 oct. 2008 à 16:05
Voici ma requête (si jamais c'est une requête sql sous oracle). Mais ça m'affiche seulement l'enregistrement la date la plus grande et me met la même pour tout les enregistrements.
CREATE OR REPLACE VIEW DEVICE_V (NAME, USER, DEVICE_INVENTORY) AS SELECT /* CM, 27-jan-2005 */ , device.name , device.user , device_connection.dt_end device_inventory FROM device , device_connection WHERE device.id = device_connection.device_id AND device_connection.dt_end = (select max(dt_end) from device_connection) ORDER BY device.name
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
24 oct. 2008 à 20:55
24 oct. 2008 à 20:55
Salut,
j'ai testé ca:
SELECT /* CM, 27-jan-2005 */
, device.name
, device.user
,max( device_connection.dt_end) device_inventory
FROM device
, device_connection
WHERE
device.id = device_connection.device_id
Sur une de mes bases oracle ca semble me donner le résultat voulu...
dis moi si c'est le résultat qu'il fallait!!
@+
j'ai testé ca:
SELECT /* CM, 27-jan-2005 */
, device.name
, device.user
,max( device_connection.dt_end) device_inventory
FROM device
, device_connection
WHERE
device.id = device_connection.device_id
Sur une de mes bases oracle ca semble me donner le résultat voulu...
dis moi si c'est le résultat qu'il fallait!!
@+
Vasu
Messages postés
25
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
12 décembre 2008
1
30 oct. 2008 à 08:06
30 oct. 2008 à 08:06
Hello,
désolé du retard, mais mon projet n'a lieu que le jeudi et vendredi, donc j'ai pas pu regarder depuis. Mais quand je fais ta sélection, j'ai une erreur oracle qui me dit : la fonction de groupe ne porte pas sur un groupe simple.
Donc j'ai modifié le code et maintenant ça fonctionne, mais par contre je sais pas si c'est de la meilleure façon que je m'y prend :
SELECT DISTINCT/* CM, 27-jan-2005 */
, device.name
, device.user
,(select max( dt_end) from device_connection where device_id = device.id) device_inventory
FROM device
, device_connection
WHERE
device.id = device_connection.device_id
Avec mon select imbriqué, il me sortait la dernière date de connexion, mais x fois, alors j'ai ajouté le DISTINCT pour n'avoir qu'un seul enregistrement par device.
Merci encore de ton aide. Tu m'as bien aiguillé ;-).
désolé du retard, mais mon projet n'a lieu que le jeudi et vendredi, donc j'ai pas pu regarder depuis. Mais quand je fais ta sélection, j'ai une erreur oracle qui me dit : la fonction de groupe ne porte pas sur un groupe simple.
Donc j'ai modifié le code et maintenant ça fonctionne, mais par contre je sais pas si c'est de la meilleure façon que je m'y prend :
SELECT DISTINCT/* CM, 27-jan-2005 */
, device.name
, device.user
,(select max( dt_end) from device_connection where device_id = device.id) device_inventory
FROM device
, device_connection
WHERE
device.id = device_connection.device_id
Avec mon select imbriqué, il me sortait la dernière date de connexion, mais x fois, alors j'ai ajouté le DISTINCT pour n'avoir qu'un seul enregistrement par device.
Merci encore de ton aide. Tu m'as bien aiguillé ;-).
30 oct. 2008 à 09:05
Meric beaucoup.