用两个表连接查询

时间:2017-02-09 18:20:21

标签: mysql sql

我有这个SQL查询没有返回任何行。我检查了那些包含数据的表,所以我认为我的查询不正确。

this is first table(sales_items[![this is second table(sales_payment))] 2] 1

我的查询是:

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' 

2 个答案:

答案 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'