PHP中使用mysql取记录问题(in这个条件)
select Related_Product from product where productid=29
这条语句返回:18,17,16
而我下面的只取的到ID为18的这条记录,其它两个就没有
select *from product where productid in(select Related_Product from product where productid=29) order by ProductID desc
但我这条语句改成如下:
select *from product where productid in(18,17,16) order by ProductID desc
这样又可以得到三条记录。
各位大侠帮帮我,我才学PHP+mysql
问题点数:20、回复次数:1Top
1 楼lantersen(蓝水仁~)回复于 2006-07-17 10:59:26 得分 20
没这么用过,你的具体需求是?以下是手册上的用法:
expr IN (value,...)
如果 expr 是 IN 列表中的作一值,它将返回 1,否则返回 0。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 IN 列表完全由常数组成,IN 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行:
mysql> SELECT 2 IN (0,3,5,'wefwf');
-> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
Top




