Ich habe eine Tabelle leave_form
, die wie folgt aussieht:Wie führe ich diese Join-Abfrage durch?
type id reporting_id leave_bal from_date_id leave_from to_date_id leave_to number leave_for status applied_dates_id pendays
personal 99 6 10 1023 full day 1313 full day 10 personal yes 1026 null
ich für Termine separaten Tisch haben, so dass ich diese Daten in leave_form
beziehen. Meine leave_date
Tabelle wie folgt aussieht:
date_id(AI) dates(UK)
1025 2016-02-18
1301 2016-02-20
1218 2016-02-16
Diese date_id
ich in from_date_id, to_date_id, applied_dates_id
Spalten in leave_form
Tabelle eingefügt haben das heißt alle Daten in leave_date
Tabelle eingefügt werden und aus dieser Tabelle ich nur die date_id
in leave_form
Tabelle.
Es gibt auch eine Tabelle, die die emp_code
und emp_name
hält. Mein personal
Tisch ist:
id(AI) emp_code(PK) emp_name
99 K0209 Nijo
Wenn ich versuche, das Datum für from_date_id, to_date_id, applied_dates_id
Spalte von leave_form
Tisch zu holen ich keine Werte.
Meine Abfrage die Daten zum Abholen ist:
type, emp_code, rm_id, rm_name, leave_bal, from_date, leave_from, to_date, leave_to, number, leave_for, status, applied_date, pendays
das heißt keine Daten zurückgegeben wird, wenn ich diese Abfrage bin Ausführung:
select g.type, a.emp_code, h.rm_id, h.rm_name, g.leave_bal, i1.dates as from_date,
g.leave_from, i2.dates as to_date, g.leave_to, g.number, g.leave_for, g.status,
i3.dates as applied_date, g.pendays
from personal a
inner join leave_form g
on a.id = g.id
inner join inform_to_rm h
on h.reporting_id = g.reporting_id
inner join leave_dates i1
on i1.dates = g.from_date_id
inner join leave_dates i2
on i2.dates = g.to_date_id
inner join leave_dates i3
on i3.dates = g.applied_dates_id
where a.emp_code = 'K0209';
Es ist mir wie zeigt führen.
Sie werden versuchen, links beizutreten wie "Left join leave_form g". Weil innerer Join nur das Ergebnis zurückgibt, wenn zwei Tabellen einen übereinstimmenden Wert haben, sonst nichts zurückgeben – cfprabhu
eine Nebenfrage: Warum verwenden Sie dieses date_id Konstrukt, anstatt einfach das Datum in Ihrer leave_form Tabelle zu haben? – Burki
Ich habe den linken Join gemacht, aber es gibt nicht die Daten für from_date, to_date, applied_date zurück. Ich möchte, dass die Daten zurückgegeben werden, indem die date_id mit leave_dates-Tabelle und leave_form-Tabelle verglichen wird. –