トリッキーな質問があります。数字の表があります:
- 37823782
- 37823782
- 37823782
- 38478934
- 90003922
そして接頭辞付きの別のテーブル:
- 378
- 3847
- 384
- 001
最長のプレフィックスに一致するすべての番号を検索したい。私はこのコードで成功しました:
$result = mysql_query("SELECT numbers FROM table1 GROUP BY numbers") or die ("Query error code 1");
while($row = mysql_fetch_array($result))
{
$numbers =$row["numbers"];
$result2 = mysql_query("SELECT * FROM table2 WHERE '".$numbers."' LIKE CONCAT(prefix, '%') ORDER BY CHAR_LENGTH(prefix) DESC LIMIT 1");
while($row2 = mysql_fetch_array($result2))
{
// That's it
}
}
今、私が単純に反対のものを作りたいもの。プレフィックスと一致しないすべての番号を検索したい。要するに、上記の例では、「90003922」を取得する必要があります。NOT LIKE CONCAT(プレフィックス、'%')を使用しようと思いましたが、機能していません。何か案が?