как показать название магазина вместо названия ветки в php mysql - PullRequest
0 голосов
/ 16 мая 2019

У меня есть таблица mysql с именами "tbl_stores" и "tbl_deals".базовая структура выглядит следующим образом:

mysqltable

Я хочу показать название магазина вместо имени филиала по идентификатору магазина и идентификатору филиала в одной таблице

я попробовал следующий код, я получаю названия магазинов и филиалов

$d_id=$_REQUEST['id'];
$s_id=$_REQUEST['sid'];
$sql1 = "SELECT  t1.s_id,t1.p_id,t1.store_name,t1.store_address,t1.store_city,t1.store_lat,t1.store_lng,t1.store_cat,t1.store_status,t2.deal_name,t2.deal_desc,t2.deal_end,t2.deal_type,t2.deal_m,t2.deal_n,t2.deal_op,t2.deal_dp,t2.deal_pf,t2.deal_pa,t2.deal_sa,t2.deal_fi, t2.deal_images, t2.deal_stores,t2.deal_status 
FROM tbl_stores t1, tbl_deals t2 
WHERE t1.s_id=$s_id and t2.d_id=$d_id";

1 Ответ

0 голосов
/ 16 мая 2019

Вам нужно присоединиться к себе tbl_stores, чтобы получить соответствующий магазин из филиала.

$sql1 = "SELECT  t1.s_id,t1.p_id,t3.store_name,t1.store_address,t1.store_city,t1.store_lat,t1.store_lng,t1.store_cat,t1.store_status,t2.deal_name,t2.deal_desc,t2.deal_end,t2.deal_type,t2.deal_m,t2.deal_n,t2.deal_op,t2.deal_dp,t2.deal_pf,t2.deal_pa,t2.deal_sa,t2.deal_fi, t2.deal_images, t2.deal_stores,t2.deal_status 
FROM tbl_stores t1
CROSS JOIN tbl_deals t2 
JOIN tbl_stores t3 ON t1.p_id = t3.s_id
WHERE t1.s_id=$s_id and t2.d_id=$d_id";

Если $s_id может быть главным хранилищем, а не филиалом, вы можете использовать LEFT JOIN и IFNULL() для обработки этого случая.

$sql1 = "SELECT  t1.s_id,t1.p_id,IFNULL(t3.store_name, t1.store_name) AS store_name,t1.store_address,t1.store_city,t1.store_lat,t1.store_lng,t1.store_cat,t1.store_status,t2.deal_name,t2.deal_desc,t2.deal_end,t2.deal_type,t2.deal_m,t2.deal_n,t2.deal_op,t2.deal_dp,t2.deal_pf,t2.deal_pa,t2.deal_sa,t2.deal_fi, t2.deal_images, t2.deal_stores,t2.deal_status 
FROM tbl_stores t1
CROSS JOIN tbl_deals t2 
LEFT JOIN tbl_stores t3 ON t1.p_id = t3.s_id
WHERE t1.s_id=$s_id and t2.d_id=$d_id";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...