2017-02-09 4 views
-3

У меня есть этот 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' 
+0

Здесь также нет php. –

+0

[путь впереди вас] (http://stackoverflow.com/questions/42144124/join-query-with-two-tables#comment71454744_42144124) @JonathanKuhn ;-) –

+0

@ Fred-ii- yea, но ваш не было закрытого голосования. –

ответ

2

Удалить цитаты и добавить имя таблицы:

WHERE ospos_sales_payments.sale_id = '236' 

или

WHERE `ospos_sales_payments`.`sale_id` = '236' 
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 также без использования кавычек.