从2个cels相同的mysql中选择

时间:2015-08-10 12:45:21

标签: php mysql select

我有这张桌子:

table_id | table_who | table_to | table_text
1        | 2         | 1        | "sometext"
2        | 1         | 2        | "sometext"
3        | 1         | 2        | "sometext"
4        | 4         | 1        | "sometext"
5        | 5         | 2        | "sometext"
6        | 2         | 2        | "sometext"

我想选择table_who或table_to为" 2"的所有行。你能帮我吗?我是php和mysql中的verry noob。

提前致谢。

5 个答案:

答案 0 :(得分:1)

OR条款中使用WHERE条件,例如

WHERE 2 in (table_who , table_to);

(OR)

WHERE table_who = 2 OR table_to = 2;

根据您在帖子中的修改,使用IN运算符并包含这些条件

where table_who in (1,2) and table_to in (1,2)

答案 1 :(得分:1)

$qry="select * from tableName where (table_who=2 or table_to=2)";
$result=mysqli_query($qry);
while($row=mysqli_fetch_assoc($result)){
    echo $row['table_text'];
}

从数据库中简单选择。

答案 2 :(得分:0)

您只需使用此查询:

$sql = 'SELECT * FROM tablename WHERE table_who = 2 OR table_to = 2';

答案 3 :(得分:0)

感谢您的回答,但是甚至还会向我显示其他记录。

我想显示,例如,值2和1,只是table_id 1,2,3,6

查看架构:

table_who | table_to<br/>
1 | 1 (possible case)<br/>
1 | 2 (possible case)<br/>
2 | 2 (possible case)<br/>
2 | 1 (possible case)<br/>

只是这些记录我想看到1和2的结果,而不是全部。

非常感谢。

答案 4 :(得分:0)

您应该只使用OR运算符:

SELECT * FROM table WHERE table_who = 2 OR table_to = 2;