Selection à partir d'une liste et renvoyant une liste
Bonjour,
J'essaye de développer un programme de localisation sur les adresses mac des box alentours.
Voici la structure de mes tables :
Code:
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 | |
+-----------+-----------+------+-----+-------------------+--------------- |
J'aimerais savoir comment je peux faire une sélection a partir d'une liste de WifiPrint.BSSID,
à 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:
Code:
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%') ;
ce qui m'a retourné :
Code:
ERROR 1242 (21000): Subquery returns more than 1 row
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.
D'avance Merci