我有一个棘手的问题。我有一张带有数字的表格:
- 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 (prefix, '%')但它不起作用。任何想法?