Mysql选择查询问题

标签 mysql sql mysql-error-1054

我在下面给定的查询中使用这个:

SELECT o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.google_order_id, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name
FROM orders o, orders_status s, customers c
WHERE o.customers_id = c.customers_id
AND o.orders_status = s.orders_status_id
AND c.customers_firstname = Nisha
OR c.customers_lastname = Nisha
OR c.customers_email_address = Nisha
OR c.customers_telephone = Nisha

它给我的错误是:#1054 - 'where clause' 中的 Unknown column 'Nisha'

是这样吗?有人可以指导我解决这个问题吗?

最佳答案

看起来您只需要将 Nisha 括在引号中:'Nisha'

...
AND c.customers_firstname = 'Nisha'
OR c.customers_lastname = 'Nisha'
OR c.customers_email_address = 'Nisha'
OR c.customers_telephone = 'Nisha'

此外,虽然与此错误无关,但请注意,您可能应该将 WHERE 条件的 AND/OR 条件分组在括号中:

WHERE (  o.customers_id = c.customers_id AND
         o.orders_status = s.orders_status_id
      ) AND
      (
         c.customers_firstname = 'Nisha' OR
         c.customers_lastname = 'Nisha' OR
         c.customers_email_address = 'Nisha' OR
         c.customers_telephone = 'Nisha'
      )

关于Mysql选择查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3118204/

相关文章:

MySQL:使用 INDEX 但仍然很慢

mysql - 从存储过程返回对象

sql - 编写联接的更好方法

mysql - Magento - 注册错误 - 1054 'ca.sort_order' 中的未知列 'order clause'

mysql - sql select语句给出列错误

mysql - 基于用户 ID 的 SQL 数据库备份和恢复

PHP Laravel 数据库 : Get all entries from one table + more

mysql - 单列索引和复合列索引有什么区别?

php - 使用 MySQL 表中的数据动态填充 div

mysql - 触发导致 #1054 - 'x' 中的未知列 'where clause'