SELECT列/ s基于布尔值

时间:2014-08-10 08:47:43

标签: mysql sql if-statement case

我有一个左连接选择语句,我想根据具有' 0'的变量的值来选择特定的列。或者' 1'。我以为我可以用CASE来实现这个,但我似乎没有运气。

如果$variable包含' 0'我希望我的select语句只检索users.usertable2.total1table2.total2,但如果$variable包含' 1'我只想选择users.usertable2.total

$value = '1';
$conn->query(
  "select users.user, table2.total, table2.total1, table2.total2 
  FROM users 
  LEFT JOIN table2 on users.user = table2.total AND $table2.date = CURDATE() 
  WHERE users.user = 'marketing' OR users.user = 'sales'
");

有没有人有任何想法?感谢。

1 个答案:

答案 0 :(得分:1)

您不需要使用sql执行此操作,但实际上查询的区别仅在于您可以使用条件和变量的select子句:

$value = '1'; 

if($variable == '1') {
  $select = "select users.user, table2.total1, table2.total2 ";
}
else {
  $select = "select users.user, table2.total ";
}

$conn->query(
  $select . "
  FROM users 
  LEFT JOIN table2 on users.user = table2.total AND $table2.date = CURDATE() 
  WHERE users.user = 'marketing' OR users.user = 'sales'
");