PHP MySQL Select birden fazla tablo

3 Cevap php

O 1 veritabanındaki bir anda 3 tabloları seçmek için posibble mi?

Table 1: employee
              --> employee_id
              --> first_name
              --> last_name
              --> middle_name
              --> birthdate
              --> address
              --> gender
              --> image
              --> salary

Table 2: logs
              --> log_id
              --> full_name 
              --> employee_id
              --> date
              --> time
              --> status

Table 2: logout
              --> log_id
              --> full_name 
              --> employee_id
              --> date
              --> time
              --> status

I wanted to get the value of employee table where $id of selected. Then the $id also get the value of log.time, log.date, logout.time, and logout.date.

I already try using UNION but nothing happens.

3 Cevap

Senin kadar bu app koymak, ancak sorgu bu gibi görünüyor. Dan'in sorgu sizin aradığınız tam olarak ne dedi dönmeyecektir.

SELECT e.*, l.time, l.date, lo.time, lo.date 
  FROM employee e
  LEFT JOIN logs l 
    ON l.employee_id = e.employee_id
  LEFT JOIN logout lo
    ON lo.employee_id = e.employee_id
  WHERE e.employee_id = {your id here}

Gibi bir şey:

SELECT * FROM `employee` as `e` ( LEFT JOIN `logs` ON `e`.`employee_id` = `logs`.`employee_id`) LEFT JOIN `logout` ON `e`.`employee_id` = `logout`.`employee_id` WHERE `e`.`employee_id` = $id

Sen onların ilgili sütunu, çalışan kimliği kullanarak tabloları birlikte katılmak istiyorum. Bu sql deyimi ilk günlükleri çalışan katılır, o sonuç çıkış birleştirilir.

Ürdün,

(Ben cevap veremezsiniz) entendu verdi sorgusu genişletmek için diğer adlar kullanabilirsiniz:

SELECT e.*, l.time AS l_time, l.date AS l_date, lo.time AS lo_time, lo.date AS lo_date

FROM employee e LEFT JOIN logs l ON l.employee_id = e.employee_id LEFT JOIN logout lo ON lo.employee_id = e.employee_id WHERE e.employee_id = {your id here}

Eğer l.time değerini almak için $ row ['l_time'] arayabilirler Bu şekilde