2013-10-23 50 views
0

之間的數據我現在有這樣的Mysql的發現是場

  ID   range_1 range_2 
|3V20.0303:3V20.0313| |3V20.0303| |3V20.0313| 

|3V20.0101:3V20.0108| |3V20.0101| |3V20.0108| 

|3V20.0305:3V20.0308| |3V20.0305| |3V20.0308| 

|3V20.0104:3V20.0104| |3V20.0104| |3V20.0104| 

|3V20.0501:3V20.0505| |3V20.0501| |3V20.0505| 

數據,我有問題,地精被包含在範圍1和範圍的數據。 它一定是這樣的

  ID   range_1 range_2 
|3V20.0305:3V20.0308| |3V20.0305| |3V20.0308| 

|3V20.0104:3V20.0104| |3V20.0104| |3V20.0104| 

|3V20.0501:3V20.0505| |3V20.0501| |3V20.0505| 

任何人都可以幫助我嗎?

我一直在嘗試這樣的代碼,它都是錯誤的。

SELECT id, range1, range2 
FROM tbl_test 
WHERE range1 BETWEEN range1 AND range2 
    or range2 between range1 and range2 
+0

我不認爲這是完全清楚你想在這裏實現什麼,什麼是你的範圍在這種情況下表示?使數據看起來像您的ID字段一致range1:每個條目range2? – ModulusJoe

回答

0

可能做一個自聯接,其中range_1和range_2都在行range_1和range2之間。

事情是這樣的: -

SELECT a.* 
FROM SomeTable a 
INNER JOIN SomeTable b 
ON a.range_1 BETWEEN b.range_1 AND b.range_2 
AND a.range_2 BETWEEN b.range_1 AND b.range_2 
AND (a.range_1 != b.range_1 
OR a.range_2 != b.range_2) 
+0

好吧,它的工作。 thanx很多雖然... – Agata