Bonjour,
J'essaye de développer un programme de localisation sur les adresses mac des box alentours.
Voici la structure de mes tables :
J'aimerais savoir comment je peux faire une sélection a partir d'une liste de WifiPrint.BSSID,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 WifiPrint +--------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------+---------+------+-----+---------+----------------+ | ID_WifiPrint | int(11) | NO | PRI | NULL | auto_increment | | BSSID | text | NO | | NULL | | | RSSI | int(11) | NO | | NULL | | | Id_Scan | int(11) | YES | MUL | NULL | | +--------------+---------+------+-----+---------+----------------+ +-----------+-----------+------+-----+-------------------+--------------- | Field | Type | Null | Key | Default | Extra | +-----------+-----------+------+-----+-------------------+--------------- | ID_Scan | int(11) | NO | PRI | NULL | auto_increment | | Longitude | double | NO | | NULL | | | Latitude | double | NO | | NULL | | | Altitude | double | NO | | NULL | | +-----------+-----------+------+-----+-------------------+---------------
à un moment T, je capte 5 box et je veux pouvoir demander à ma base de donner de me donné l'enregistrement commun à ces 5 box.
je ne peux utiliser une clause "and" basique ( logique ) donc j'ai essayé une requête combinant un select pour chaque élément que je cherche à avoir:
ce qui m'a retourné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from wifiprint , scan where wifiprint.Id_Scan = Scan.ID_Scan and (Select id_scan from WifiPrint where wifiprint.BSSID like '%38:46:08:dc:6e:8e%') and (Select id_scan from wifiprint where wifiprint.BSSID like '%c0:3f:0e:c7:c8:f4%') ;
mais justement, je veux qu'il m'en retourne plusieurs, puisque je veux ensuite pouvoir trier en fonction de la qualité du signal et peut être même d'autre paramètres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ERROR 1242 (21000): Subquery returns more than 1 row
D'avance Merci
Partager