如何在3列中查询具有6列且具有条件的1个表

时间:2012-10-26 22:23:19

标签: mysql sql database sqlite

我想要做的就是查询我的表,其中包含6列,条件必须由其中3列满足

我的表格信息 表名称My_table列a1,a2,a3,a4,a5,a6

我尝试的代码如下,当然不起作用

$myquery = "SELECT * FROM My_table WHERE a2='$variable1' AND a3='$variable2' AND a6='$variable3' ORDER BY a2 ASC";
$myresult = mysql_query($myquery);

我的结果必须包含符合上述条件的行。

这样做的正确方法是什么? 提前谢谢。

2 个答案:

答案 0 :(得分:2)

缺失:

$result = mysql_fetch_array($myresult);

您可以使用以下命名约定来避免此类错误:

$my_sql = "SELECT * FROM My_table WHERE a2='$variable1' AND a3='$variable2' AND a6='$variable3' ORDER BY a2 ASC";
$my_query = mysql_query($my_sql);
$my_result = mysql_fetch_array($my_query);

答案 1 :(得分:0)

好的,这就是我的工作方式,它对我很有用,所以它也可以帮到你。

因为我正在将我的表的3列与3个变量进行比较,并且我知道它们已经修复并且必须完全按照这个顺序完成这些条件,我在UPPER中搜索了3列的字符串然后对我的变量做了同样的事情,然后将它们相互比较,这给了我正在寻找的结果。

这是我的问题的解决方案代码:

$myquery = "SELECT a2 a3 a6 FROM My_table WHERE concat(UPPER(a2), UPPER(a3), UPPER(a6)) LIKE concat(UPPER('$variable1'), UPPER('$variable2'), UPPER('$variable3')) ORDER BY a2 ASC";

$ myresult = mysql_query($ myquery);

希望它也可以帮助别人。