Récupération d'une partie de données avec une requête SQL

Fermé
FerhatYous Messages postés 20 Date d'inscription jeudi 24 février 2022 Statut Membre Dernière intervention 8 août 2022 - 15 avril 2022 à 16:15
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 - 15 avril 2022 à 18:59
Bonjour,

Je cherche a récupérer une partie des données à partir d'une base de données mais j'y arrive pas. j'ai réussi a le faire avec pandas en utilisant "isin()" mais moi je veux les récupérer avec une requête SQL . Voici donc mes données et le code python :


import io
csv = io.StringIO("""action,adresse_ip,ip_source,ip_dest,client
block,128.03.03.29,29E9t9994,12300rtgR30,client1
block,128.03.04.22,29E9th9994,12300Rg30,client2
allow,128.03.03.29,29dfbfE99994,12d300R30,client1
block,128.03.73.294,29E99fv994,1230s0R30,client3
allow,128.03.83.295,29Egfn99994,12h300R30,client2
allow,128.03.73.294,29E99fv994,123k00R30,client5
allow,128.03.04.297,29E99994,12300tR30,client7
block,128.03.01.298,29E99994,1230z0R30,client8
block,128.03.02.299,29E99994,1230v0R30,client9
allow,128.03.02.009,29E99994,1230v0R30,client19
allow,128.03.02.329,29E99994,1230v0R30,client29
block,128.03.02.222,29E99994,1230v0R30,client39""")

df = pd.read_csv(csv)
df

ip = df[df['action'] == 'allow']['adresse_ip'].values
df[df['adresse_ip'].isin(ip)]





Ce que je veux c'est de récupérer toutes les lignes où "action" = "allow" et en plus les lignes où l'action est "block" sachant que son adresse_ip correspondante a déja une action = "allow".

Je vous remercie d'avance.
A voir également:

1 réponse

yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 Ambassadeur 1 552
15 avril 2022 à 18:13
0
Bonjour,
J'ai essayé la requête suivante :
SELECT * from database where action="Allow", j'ai donc récupéré toutes les lignes où il y a les allow mais j'arrive pas à introduire la deuxième contrainte qui est récupérer les lignes ou il y a "block" Sachant que son adresse_ip coreespandante a déja une action allow
0
yg_be Messages postés 23323 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 novembre 2024 1 552 > Fer
15 avril 2022 à 18:59
Quel logiciel de base de données utilises-tu?
Si je comprends bien, la requête que tu as essayée te donne toutes les adresses IP que tu veux obtenir.
Tu as déjà étudié les jointures?
0