Ben iki (örnek) tablo var burada A) data_table
:
+----------+-------+
| location | value |
+----------+-------+
| 43 | 38 |
| 44 | 31 |
| 3 | 31 |
| 11 | 38 |
| 47 | 35 |
| 49 | 31 |
| 50 | 31 |
| 55 | 16 |
| 56 | 16 |
| 59 | 35 |
| 42 | 35 |
+----------+-------+
ve B) neighbour_table
:
+-----------+-----------+
| location1 | location2 |
+-----------+-----------+
| 43 | 3 |
| 43 | 11 |
| 43 | 55 |
| 3 | 50 |
| 3 | 16 |
| 49 | 56 |
| 49 | 42 |
+-----------+-----------+
Ben locations
ile aynı value
olarak komşu en az birine sahiptir seçmek istiyorum. (Performansa göre) bunu yapmanın en iyi yolu nedir?
Şimdiye kadar bu çalıştı:
1) tabloda birden fazla mevcut değerine sahip tüm yerlerinizi seçin:
SELECT location,value FROM data_table
WHERE value IN
(SELECT value FROM data_table GROUP BY value HAVING COUNT(value) > 1);
2) Şimdi neighbour_table
kullanarak sonuç filtrelemek istiyorum, ama nasıl olur? Kullanma JOIN
? Veya başka bir türetilmiş tablo (sorgu)?
Ben işi yapmak için PHP kullanarak, ama nasıl performansı hakkında düşünmek? Eğer varsa zaten ben SQL çözüm görmek istiyoruz.
Şimdiden teşekkürler