Problème dans la création de table
-
21-09-2019 - |
Question
create table maintable comme select curr_Table.empID comme EMPID, (currTable.ToTalDays-oldTable.ToTalDays) comme DiffDays de currTable jointure externe gauche OldTable sur currTable.empID = oldTable.empID
Ceci est la requête que je l'utilise pour trouver les jours travaillés par un employé.
Le problème soulève quand il y a « New Joinee ». « OldTable.ToTalDays » n'auront aucune valeur aucun document ne sera trouvé pour « New Joinee » dans OldTable. Donc, pour ce DiffDays d'enregistrement (Integer null) résultats est égale à zéro au lieu de jours au total courant.
Une manière de résoudre ce problème?
La solution
create table mainTable as
select curr_Table.empID as empID,
(currTable.ToTalDays - ifnull(oldTable.ToTalDays, 0)) as DiffDays
from currTable
left outer join
oldTable on currTable.empID = oldTable.empID
Autres conseils
Pas tout à fait sûr de celui-ci, mais je ne pense pas que MySQL permet
CREATE TABLE AS SELECT ...
genre de choses. DoubleCheck le manuel sur celui . Ont vu de telles requêtes sur Postgres, mais ne me souviens pas de tels ceux sur MySQL ...
EDIT:
a effectué le double contrôle trop et doivent admettre que CREATE TABLE AS SELECT ... fonctionne en acte. Nevermind, va prendre un café ...