Ich habe eine Tabelle mit dem Namen Region zwei Spalten: region_id aufweist, ist PrimärschlüsselMySql StoredProcedure mit INNER JOIN
|region_id | region_code |
| ----------+-------------+
| 1 | Asia |
| 2 | Can |
| 3 | Cen |
| 4 | West |
| 5 | GNW |
----------+-------------+
Und ich habe eine andere Tabelle Mitarbeiter, in denen emp_id Primärschlüssel ist und region_id_fk Fremd ist Schlüssel zugeordnet Region Tabelle:
+------+---------+---------+------------+---------------+---------+------------
|emp_id| emp_name|global_id|region_id_fk|attendance_date|ispresent| is_billable|
+------+---------+---------+------------+---------------+---------+---------
| 1 | andrew | candrew | 1 | 2017-02-13 | 1 | 1 |
| 2 | andrew | candrew | 1 | 2017-02-14 | 1 | 1 |
| 3 | andrew | candrew | 1 | 2017-02-15 | 1 | 1 |
| 4 | andrew | candrew | 1 | 2017-02-16 | 1 | 1 |
| 5 | andrew | candrew | 1 | 2017-02-17 | 0 | 1 |
| 6 | simon | csimon | 1 | 2017-02-13 | 1 | 1 |
| 7 | simon | csimon | 1 | 2017-02-14 | 1 | 1 |
| 8 | simon | csimon | 1 | 2017-02-15 | 1 | 1 |
| 9 | simon | csimon | 1 | 2017-02-16 | 1 | 1 |
| 10 | simon | csimon | 1 | 2017-02-17 | 1 | 1 |
| 11 | peter | cpeter | 2 | 2017-02-13 | 1 | 1 |
| 12 | peter | cpeter | 2 | 2017-02-14 | 1 | 1 |
| 13 | peter | cpeter | 2 | 2017-02-15 | 1 | 1 |
| 14 | peter | cpeter | 2 | 2017-02-16 | 1 | 1 |
| 15 | alvin | calvin | 2 | 2017-03-13 | 1 | 0 |
| 16 | thomas | thomas | 2 | 2017-03-14 | 0 | 1 |
| 17 | samuel | csamuel | 2 | 2017-03-15 | 1 | 0 |
| 18 | jackson | cjackson| 2 | 2017-03-16 | 1 | 0 |
| 19 | clinda | clinda | 2 | 2017-03-17 | 1 | 1 |
+--------+----------+-----------+--------------+-----------------+------
ich bereits diese Art der Abfrage, wo ich innere Verknüpfung und zählt in einer gespeicherten Prozedur:
DELIMITER $$
DROP PROCEDURE IF EXISTS test.some_proc $$
CREATE PROCEDURE test.some_proc(IN in_is_billable INT,IN in_month INT,IN in_ispresent INT)
BEGIN
DECLARE capacitycount INT;
DECLARE hrs INT;
SET hrs=8;
SELECT COUNT(ispresent)*8 AS team_capacity, region_code
FROM employee emp
INNER JOIN region r ON r.region_id=emp.region_id_fk
WHERE (is_billable=in_is_billable) AND
(MONTH(attendance_date)=in_month) AND
(ispresent=in_ispresent);
END $$
DELIMITER ;
Und its me unten Ergebnis geben: Team Kapazität | region_code 128 | Asien
ich meine gespeicherten Prozedur alle wollen den Regionalcode in Region Tabelle, die zusammen mit Teamfähigkeit geben, im in der gespeicherten Prozedur zu berechnen, die geben wird Ich richtige Antwort.
Das Ergebnis sollte so sein, aber im Moment bekomme ich nur Teamkapazität für nur eine Region.
team capacity|region_code
128 |Asia
39 |Can
68 |Cen
Jede mögliche Hilfe geschätzt, Vielen Dank im Voraus :)
Vielen Dank, jetzt bin immer richtige Antwort @Ankit Agrawal –
Accept diese Antwort.So wird es für andere hilfreich sein, ihre Probleme loszuwerden –