Topic de Saygus5 :

Ces requêtes sql met en pls 95% du forum

Supprimé
  • 1

Cette première requête sert à récupérer la liste des boites dont aucun des instruments contenus ne sont marqués

select count(*) from boxes where box_id not in (
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is not null));

De bas vers le haut :
Récupère la liste des instruments avec un code datamatrix (instruments marqués)
Récupère la liste des boites avec au moins un instrument marqué
Compte le nombre de boite qui NE sont PAS dans la liste des boites avec au moins un instrument marqué

Cette deuxième requête sert à récupérer la liste des boites dont au moins un des instruments contenus n'est pas marqué

select count(*) from boxes where box_id in(
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is null));

De bas vers le haut :
Récupère la liste des instruments sans code datamatrix
Récupère la liste des boites avec au moins un instrument non marqué
Compte le nombre de boite qui sont dans la liste des boites avec au moins un instrument non marqué

Conclusion : logiquement la deuxième requête devrait retourner une valeur égale ou supérieur à la première, et pourtant c'est l'inverse qui se produit https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

Qu'est ce qu'il se passe svp https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

svp les kheys je suis une fraude dans ma petite planque il faut que je trouve https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

select count(*) from boxes where box_id not in (
select distinct(box_id) from box_instruments where inst_id in (
select inst_id from instruments where inst_datamatrix is not null));

select count(*) from boxes where box_id in(
select distinct(box_id) from box_instruments where inst_id in (
select inst_id from instruments where inst_datamatrix is null));

J'en sais rien mais peut être à cause de ces conditions

File une trace avec explain et le schema ça sera plus simple à lire

Le 20 décembre 2023 à 14:06:08 :
File une trace avec explain et le schema ça sera plus simple à lire

euh https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

https://image.noelshack.com/fichiers/2023/51/3/1703078114-image.png

https://image.noelshack.com/fichiers/2023/51/3/1703078081-image.png

boxes : colonne clé primaire box_id
instruments : colonne clé primaire instr_id et colonne nullable instr_datamatrix
box_instrument : colonne clé primaire boxinstr_id, colonne box_id et colonne instr_id

box_instrument sert à faire le lien entre les instruments et les boites
Il peut y avoir plusieurs instruments par boite et il peut y avoir un même instrument dans plusieurs boites https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

Demande à chatGTP comme tout le monde

Le 20 décembre 2023 à 14:18:21 :
Demande à chatGTP comme tout le monde

This !

En général j'exécute chacune des sous-requêtes à côté pour vérifier leurs résultats avant.

Le 20 décembre 2023 à 14:18:21 :
Demande à chatGTP comme tout le monde

j'ai essayé khey il est perdu https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

Le 20 décembre 2023 à 13:56:08 Saygus5 a écrit :
Cette première requête sert à récupérer la liste des boites dont aucun des instruments contenus ne sont marqués

select count(*) from boxes where box_id not in (
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is not null));

De bas vers le haut :
Récupère la liste des instruments avec un code datamatrix (instruments marqués)
Récupère la liste des boites avec au moins un instrument marqué
Compte le nombre de boite qui NE sont PAS dans la liste des boites avec au moins un instrument marqué

Cette deuxième requête sert à récupérer la liste des boites dont au moins un des instruments contenus n'est pas marqué

select count(*) from boxes where box_id in(
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is null));

De bas vers le haut :
Récupère la liste des instruments sans code datamatrix
Récupère la liste des boites avec au moins un instrument non marqué
Compte le nombre de boite qui sont dans la liste des boites avec au moins un instrument non marqué

Conclusion : logiquement la deuxième requête devrait retourner une valeur égale ou supérieur à la première, et pourtant c'est l'inverse qui se produit https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

Qu'est ce qu'il se passe svp https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

T'as fumé l'OP ou tu troll ?

Le 20 décembre 2023 à 14:32:40 :

Le 20 décembre 2023 à 13:56:08 Saygus5 a écrit :
Cette première requête sert à récupérer la liste des boites dont aucun des instruments contenus ne sont marqués

select count(*) from boxes where box_id not in (
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is not null));

De bas vers le haut :
Récupère la liste des instruments avec un code datamatrix (instruments marqués)
Récupère la liste des boites avec au moins un instrument marqué
Compte le nombre de boite qui NE sont PAS dans la liste des boites avec au moins un instrument marqué

Cette deuxième requête sert à récupérer la liste des boites dont au moins un des instruments contenus n'est pas marqué

select count(*) from boxes where box_id in(
  select distinct(box_id) from box_instruments where inst_id in (
    select inst_id from instruments where inst_datamatrix is null));

De bas vers le haut :
Récupère la liste des instruments sans code datamatrix
Récupère la liste des boites avec au moins un instrument non marqué
Compte le nombre de boite qui sont dans la liste des boites avec au moins un instrument non marqué

Conclusion : logiquement la deuxième requête devrait retourner une valeur égale ou supérieur à la première, et pourtant c'est l'inverse qui se produit https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

Qu'est ce qu'il se passe svp https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png

T'as fumé l'OP ou tu troll ?

Explique :-(

  • 1

Données du topic

Auteur
Saygus5
Date de création
20 décembre 2023 à 13:56:08
Date de suppression
28 décembre 2023 à 23:23:00
Supprimé par
Auteur
Nb. messages archivés
11
Nb. messages JVC
11
En ligne sur JvArchive 314