1

みんな;

パス情報が保存されているデータベースで作業しています。1つの簡略化されたテーブルを以下に示します。

path_id | path value
1         //a/b/c/d
2         //a/b/e
3         //a/b
4         //a/bcd

質問があります。接頭辞として「//a/ b」が付いている情報を取得するにはどうすればよいですか?この場合、結果は次のようになります。

path_id | path value
1         //a/b/c/d
2         //a/b/e
3         //a/b

'OR'のような論理演算子を使用する以外に、より洗練された最適化されたクエリを探しています。ありがとう。

4

2 に答える 2

3
SELECT * FROM YourTable WHERE path_value like '//a/b/%' OR path_value = '//a/b' 

WHEREステートメントの最初の部分のワイルドカードの前の余分なスラッシュに注意してください。これは//a/bcdを除外します。

于 2012-09-18T20:10:29.437 に答える
0

%はワイルドカードとして機能するため、その部分に続くものは何でもかまいません。

SELECT * FROM tableName WHERE path_value like '//a/b/%' OR path_value = '//a/b'
于 2012-09-18T20:08:44.437 に答える