У меня здесь 3 стола. Таблица пользователей, таблица сотрудников и таблица отчетов.Как выбрать несколько значений в разных таблицах в SQL?
Таблица Пользователь имеет 4 колонки:
ID, Username, Password, Role
1 test test Admin
2 branch branch Manager
3 hello hello Manager
Таблица Employee имеет 4 колонки:
ID, Firstname, Lastname, Supervisor_ID
1 test test
2 branch branch
3 hello hello
4 agent1 agent1 2
5 agent2 agent2 2
6 agent3 agent3 3
7 agent4 agent4 3
Report Таблица имеет 4 колонки:
Report_ID, ID, Branch_ID, Client_ID
1 1 1 1
2 2 1 1
3 3 2 3
4 4 1 2
5 5 3 4
6 6 3 2
7 7 2 5
Теперь желаемый результат, что я хочу заключается в том, что если пользователь, который является логином, является менеджером, то отчеты, которые он может видеть, это только отчеты под его ID
и агентами под его наблюдением. У меня есть код, который выбирает только два значения из таблиц.
$user = $_SESSION['username'];
$statement="SELECT * FROM user WHERE Username='".$user."'";
$result1 = mysqlparser($statement, $db);
$id = $result1[0]['Employee_ID'];
$statement="SELECT * FROM employee WHERE Supervisor_ID='".$id."'";
$result2 = mysqlparser($statement, $db);
$id1 = $result2[0]['Employee_ID'];
$statement = "SELECT * FROM report WHERE DATE(`Report_Timestamp`) = CURDATE() AND Employee_ID='".$id."' OR Employee_ID='".$id1."'";
$result = mysqlparser($statement, $db);
Например: Я вошел в отрасли, которая имеет идентификатор 2. Теперь я хочу, чтобы увидеть отчеты моего удостоверения личности и других сотрудников под моим руководством, которые agent1 и agent2.
Вы можете посмотреть на 'JOIN's Http: //www.sitepoint. com/understanding-sql-joins-mysql-database/ – hsan