在同一列上使用两次WHERE子句?

时间:2016-05-12 01:49:30

标签: php sql

我正在尝试从同一列中选择两次我阅读了一些之前发布的问题以及一些建议使用T1.T2.的人但是我不确定如何将这些问题实现到此例。所以我要做的是从statement_type列中选择两次。值为WTHDTIP

的值
SELECT * FROM `usr_statements` 
WHERE `username` = '$username' AND `statement_type` = 'WTHD' AND `statement_type` = 'TIP' 
ORDER BY `statement_ref`";

我试图从两次排序的列是statement_type

WHERE `username` = '$username' AND `statement_type` = 'WTHD' AND statement_type` = 'TIP'

2 个答案:

答案 0 :(得分:1)

如果要使用不同的条件对同一列进行排序,请使用OR

SELECT * FROM `usr_statements` 
WHERE `username` = '$username' AND (`statement_type` = 'WTHD' OR `statement_type` = 'TIP') 
ORDER BY `statement_ref`";

如果您有超过3个语句,请使用IN以降低复杂性,

SELECT * FROM `usr_statements` 
WHERE `username` = '$username' AND `statement_type` IN('WTHD', 'TIP') 
ORDER BY `statement_ref`";

答案 1 :(得分:1)

您可以使用OR

WHERE `username` = '$username' AND (`statement_type` = 'WTHD' OR `statement_type` = 'TIP')

或使用IN

WHERE `username` = '$username' AND `statement_type` IN('WTHD', 'TIP')