我有一个左连接选择语句,我想根据具有' 0'的变量的值来选择特定的列。或者' 1'。我以为我可以用CASE来实现这个,但我似乎没有运气。
如果$variable
包含' 0'我希望我的select语句只检索users.user
,table2.total1
和table2.total2
,但如果$variable
包含' 1'我只想选择users.user
和table2.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'
");
有没有人有任何想法?感谢。
答案 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'
");