SQL Request
Résolu
mchiicha
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une table SQL "cell_infos" qui contient plusieurs champs dont le "network_cell_id", l'"arfcn" et le "bsci_sc" et je voudrais effectuer une requête SQL pour retrouver la liste des éléments dont les parametres "bsic_sc" et "arfcn" sont identique mais je ne sais pas comment formuler ma requête. L'exemple ci-dessous correspond bien à ce que je veux faire mais pour un couple de paramètres fixé:
SELECT * FROM `cell_infos` WHERE `bsic_sc`=307 AND `arfcn`=10786
et moi je veux pas préciser les valeurs je voudrais la liste entière
Je ne sais pas si je me suis faite comprendre mais si quelqu'un voit a peu près ce que je veux dire et a une idée je le remercierai bcp!
bonne journée
J'ai une table SQL "cell_infos" qui contient plusieurs champs dont le "network_cell_id", l'"arfcn" et le "bsci_sc" et je voudrais effectuer une requête SQL pour retrouver la liste des éléments dont les parametres "bsic_sc" et "arfcn" sont identique mais je ne sais pas comment formuler ma requête. L'exemple ci-dessous correspond bien à ce que je veux faire mais pour un couple de paramètres fixé:
SELECT * FROM `cell_infos` WHERE `bsic_sc`=307 AND `arfcn`=10786
et moi je veux pas préciser les valeurs je voudrais la liste entière
Je ne sais pas si je me suis faite comprendre mais si quelqu'un voit a peu près ce que je veux dire et a une idée je le remercierai bcp!
bonne journée
A voir également:
- SQL Request
- Logiciel sql - Télécharger - Bases de données
- 666-4 - bad request - 666-4 ✓ - Forum Réseaux sociaux
- Blob sql ✓ - Forum Webmastering
- Bad request your browser sent a request that this server could not understand. size of a request header field exceeds server limit. ✓ - Forum Bureautique
- Bad request ... - Forum Réseaux sociaux
12 réponses
Je me suis mal exprimée ce que je veux ce n'est pas que les deux parametres aient la même valeur mais que par exemple dans ma table j'ai plusieurs enregistrements et je veux resortir la liste de ceux où la valeur du"bsci_sc" se répète et celle de l'"arfcn" aussi mais que les autrees parametres ont change. Voici un exemple:
-------------------------------------|
network_cell_id | arfcn | bsic_sc |
-------------------------------------|
22 | 10 | 2 |
-------------------------------------|
14 | 10 | 2 |
-------------------------------------|
100 | 4 | 7 |
dans ce cas là je voudrais que ça me sorte les deux premières lignes psk l'arfcn et le bsic_sc ont les même valeurs
-------------------------------------|
network_cell_id | arfcn | bsic_sc |
-------------------------------------|
22 | 10 | 2 |
-------------------------------------|
14 | 10 | 2 |
-------------------------------------|
100 | 4 | 7 |
dans ce cas là je voudrais que ça me sorte les deux premières lignes psk l'arfcn et le bsic_sc ont les même valeurs
essaie ça, je suis pas sûr des alias…
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` <> `copie`.`bsic_sc` AND `original`.`arfcn` = `copie`.`arfcn`);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai exécuté la requête mais j'ai une erreur du genre:
#1054 - Unknown column 'T1.original' in 'where clause'
#1054 - Unknown column 'T1.original' in 'where clause'
J'ai modifié légèrement la requête:
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` <> `copie`.`bsic_sc` AND `original`.`arfcn` <> `copie`.`arfcn`)
Mais ça me ressort toute la table ya pas de changement y a autant d'enregistrement que dans la table initiale !
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` <> `copie`.`bsic_sc` AND `original`.`arfcn` <> `copie`.`arfcn`)
Mais ça me ressort toute la table ya pas de changement y a autant d'enregistrement que dans la table initiale !
et avec égale, ça donne quoi ?
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` = `copie`.`bsic_sc` AND `original`.`arfcn` = `copie`.`arfcn`)
Oui j'avais essayé av le = aussi et ça donne la même chose donc c'est un peu bizzare j'essaie de comprendre la structure de la requête pr débugger
Tout compte fait (si j'ai bien compris) la requête ne fait pas ce que je veux.
Voilà ce que j'en ai compris:
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` = `copie`.`bsic_sc` AND `original`.`arfcn` = `copie`.`arfcn`)
en 1er lieu elle va regarder les lignes où le bsic_sc de l'ancienne table et de la nouvelle s'ils sont égaux elle les stocke donc au final on se retrouve avec la meme table initiale :s
Voilà ce que j'en ai compris:
SELECT DISTINCT * FROM `cell_infos` AS `original` WHERE EXISTS (SELECT * FROM `cell_infos` AS `copie` WHERE `original`.`bsic_sc` = `copie`.`bsic_sc` AND `original`.`arfcn` = `copie`.`arfcn`)
en 1er lieu elle va regarder les lignes où le bsic_sc de l'ancienne table et de la nouvelle s'ils sont égaux elle les stocke donc au final on se retrouve avec la meme table initiale :s
Bonjour,
Merci pour la source maintenant c ok! Voici la bonne requête finalement:
FROM cell_infos T1
WHERE EXISTS (SELECT *
FROM cell_infos T2
WHERE T1.network_cell_id <> T2.network_cell_id
AND T1.arfcn = T2.arfcn
AND T1.bsic_sc = T2.bsic_sc)
On avait oublié par rapport à la précédente de préciser que le netswork_cell_id doit etre différent!
Bonne journée!
Merci pour la source maintenant c ok! Voici la bonne requête finalement:
FROM cell_infos T1
WHERE EXISTS (SELECT *
FROM cell_infos T2
WHERE T1.network_cell_id <> T2.network_cell_id
AND T1.arfcn = T2.arfcn
AND T1.bsic_sc = T2.bsic_sc)
On avait oublié par rapport à la précédente de préciser que le netswork_cell_id doit etre différent!
Bonne journée!