mysql - 简单的 select, where 语句有问题

标签 mysql sql select where-clause

我是 SQL 新手,似乎无法理解仅在语句的一部分上使用 WHERE 子句。例如,(基本上都是这样写的)

SELECT Forename, Surname, Organisation 
FROM Client table

SELECT Renewal day AND Renewal month AS Renewal date 
FROM Client table
WHERE Renewal day <> 0

我需要将这一切都作为一个语句,而且这样 where 子句就不会影响 Forename、Surname 和 Organization 字段。例如,该表将充满客户,但续订日期列将仅显示有客户的日期。谢谢

最佳答案

SELECT Forename, Surname, Organisation, IF(Renewal day <> 0, Renewal day AND Renewal month, '') as Renewal
FROM Client table

应该可以解决问题。这不会立即运行,因为 IF 中的 AND 语句不受欢迎,但您可以使用:

IF(Renewal day <> 0, CONCAT(Renewal day,Renewal month), '') as Renewal

IF(Renewal day <> 0, Renewal day) as renewDay, IF(Renewal day <> 0, Renewal month, '') as renewMonth

有 2 个独立的字段。

关于mysql - 简单的 select, where 语句有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196302/

相关文章:

mysql - 如何使用多个 where 子句联合或连接多个表?

php - 如何从 AJAX 调用中检索数组?

sql - 无法创建 SSPI 上下文

javascript - Jquery将html值附加到输入框,但不附加跨度内的文本

mysql - 为什么mysql select count(distinct user_id)返回错误的数字?

python - 将字典和变量列表插入表中

php - PDO异常 : SQLSTATE[HY000]: General error: 3 Error writing file '/tmp/MYHKgYpv' (Errcode: 28)

php - 在插入 MySQL 数据库之前检查数据

mysql - Codeigniter 不返回数据库中存在的一些记录

javascript - 没有 Ctrl-click 要求的 HTML 多选框