как объединить четыре таблицы для отображения конкретных данных - PullRequest
0 голосов
/ 20 октября 2018

У меня возникли проблемы с присоединением к таблицам.У меня есть четыре таблицы

таблица «оборудования»

equipment_id   equipment_name
-----------    --------------
1              Motor Cycle
2              Private Car

================================

это моя таблица проекта


project_id    project_name
----------    ------------
1              xyz trading 
2              abc private ltd

===============================

это стол проката


rental_id      project_id    equipment_id   Rental_date
---------------------------------------------------------
1                 2                 1         12/10/2018
2                 2                2          15/09/2018
3                 1                2          20/10/2018

это стол вывоза


remove_id      project_id    equipment_id   removal_date
---------------------------------------------------------
1                 2                 1         null
2                 2                2         14/10/18

these are my table, now i want to display data of single equipment (eg: equipment no 2) in which project this equipment ran, when was the rental date and when was the removal date from a project.

Я хочу отображать вот так .. (используя Codeigniter)

Журнал оборудования 2

====== *

    SN   Project Name      Rental date       Removal date
    ---  ------------      -----------       ------------
    1    ABC pvt Ltd        15/09/2018       14/10/2018
    2    xyz trading        20/10/2018         Null

Контроллерпереходит к модели

$data['eqipment_details']=$this->Equipment_model->getLog($equipment_id);

Пожалуйста, помогите мне с запросом

1 Ответ

0 голосов
/ 20 октября 2018

Пришлось угадать, какими будут имена ваших таблиц, но вы должны уметь подстраиваться под это:

SELECT
(@cnt := @cnt + 1) AS SN,
PROJECT.project_name AS Project Name,
RENTAL.Rental_date AS Rental date,
REMOVAL.removal_date AS Removal date 
FROM 
rental_table RENTAL 
LEFT JOIN project_table PROJECT ON (RENTAL.project_id = PROJECT.id) 
LEFT JOIN equipment_table EQUIPMENT ON (RENTAL.equipment_id = EQUIPMENT.id) 
LEFT JOIN removal_table REMOVAL ON (PROJECT.id = REMOVAL.project_id AND PROJECT.equipment_id = REMOVAL.equipment_id) 
WHERE 
EQUIPMENT.id = 2;

Я бы настоятельно рекомендовал соответствовать вашим соглашениям об именах, которые вы смешиваете с верблюжьим регистром ититульный регистр с подчеркиванием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...