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