我有这个SQL查询没有返回任何行。我检查了那些包含数据的表,所以我认为我的查询不正确。
我的查询是:
SELECT payment_type,with_service_total,sale_nm
FROM `ospos_sales_payments`
INNER JOIN ospos_sales_items ON ospos_sales_payments.sale_id = ospos_sales_items.sale_id
WHERE 'sale_id' = '236'
答案 0 :(得分:4)
错误在于您的语法。您正在执行WHERE 'sale_id' = '236'
,因此您要比较两个不同的字符串,并且此条件将始终评估为FALSE
。
您的查询应该是这样写的:
SELECT
payment_type,
with_service_total,
sale_nm
FROM `ospos_sales_payments`
INNER JOIN ospos_sales_items
ON ospos_sales_payments.sale_id = ospos_sales_items.sale_id
WHERE sale_id = '236'
此外,如果sale_id
字段为数字,则您也可以在不使用引号的情况下与236
进行比较。
答案 1 :(得分:2)
删除引号并添加表名:
WHERE ospos_sales_payments.sale_id = '236'
或
WHERE `ospos_sales_payments`.`sale_id` = '236'