У меня есть три таблицы: tbl_users, tbl_account_details и tbl_attendance.
tbl_users выглядит так
user_id username role_id activated banned
1 admin 1 1 0
36 siraj 3 1 0
37 faizal 3 1 0
38 nesru 3 1 0
40 jaseer 3 1 0
42 maltu 3 1 0
43 shahul 3 1 0
tbl_account_details выглядит так
account_details_id user_id fullname designations_id
1 1 Administrator 1
33 36 siraj 2
34 37 faizal 3
35 38 nesru 3
37 40 jaseer 4
39 42 maltu 4
40 43 shahul 2
tbl_attendance таблица выглядит так
attendance_id user_id date_in attendance_status status 0=absent 1=present 3 = onleave 4 = onoff
1 1 2017-02-05 1
2 36 2017-02-11 4
3 36 2017-02-11 4
4 36 2017-02-11 3
5 1 2017-02-02 1
6 36 2017-02-01 1
Я хочу получить всех пользователей, где пользователи не находятся в режиме onleave и onoff в текущий день в tbl_attendance. Статус присутствия для отпуска — 3, а для отключения — 4.
Я написал запрос, который выглядит следующим образом
public function get_manager_cordinator_users($date)
{
$this->db->select('tbl_account_details.*', FALSE);
$this->db->select('tbl_users.*');
$this->db->join('tbl_account_details', 'tbl_users.user_id = tbl_account_details.user_id', 'left');
$this->db->where(array('designations_id' => 2));
$this->db->or_where(array('designations_id' => 3));
$this->db->where('tbl_users.user_id NOT IN(SELECT user_id FROM tbl_attendance WHERE tbl_attendance.date_in=' . $date . ' && attendance_status=3 OR attendance_status=4 )');
$query_result = $this->db->get('tbl_users');
$result = $query_result->result();
return $result;
}
мой контроллер выглядит так
$date = date('Y-m-d');
$data['assign_user'] = $this->Project_model->get_manager_cordinator_users($date);
Подробнее здесь: https://stackoverflow.com/questions/421 ... records-in
Получите подходящие записи из одной таблицы, которые не имеют дисквалифицирующих записей в другой таблице, с помощью пос ⇐ Php
Кемеровские программисты php общаются здесь
1763943389
Anonymous
У меня есть три таблицы: tbl_users, tbl_account_details и tbl_attendance.
tbl_users выглядит так
user_id username role_id activated banned
1 admin 1 1 0
36 siraj 3 1 0
37 faizal 3 1 0
38 nesru 3 1 0
40 jaseer 3 1 0
42 maltu 3 1 0
43 shahul 3 1 0
tbl_account_details выглядит так
account_details_id user_id fullname designations_id
1 1 Administrator 1
33 36 siraj 2
34 37 faizal 3
35 38 nesru 3
37 40 jaseer 4
39 42 maltu 4
40 43 shahul 2
tbl_attendance таблица выглядит так
attendance_id user_id date_in attendance_status status 0=absent 1=present 3 = onleave 4 = onoff
1 1 2017-02-05 1
2 36 2017-02-11 4
3 36 2017-02-11 4
4 36 2017-02-11 3
5 1 2017-02-02 1
6 36 2017-02-01 1
Я хочу получить всех пользователей, где пользователи не находятся в режиме onleave и onoff в текущий день в tbl_attendance. Статус присутствия для отпуска — 3, а для отключения — 4.
Я написал запрос, который выглядит следующим образом
public function get_manager_cordinator_users($date)
{
$this->db->select('tbl_account_details.*', FALSE);
$this->db->select('tbl_users.*');
$this->db->join('tbl_account_details', 'tbl_users.user_id = tbl_account_details.user_id', 'left');
$this->db->where(array('designations_id' => 2));
$this->db->or_where(array('designations_id' => 3));
$this->db->where('tbl_users.user_id NOT IN(SELECT user_id FROM tbl_attendance WHERE tbl_attendance.date_in=' . $date . ' && attendance_status=3 OR attendance_status=4 )');
$query_result = $this->db->get('tbl_users');
$result = $query_result->result();
return $result;
}
мой контроллер выглядит так
$date = date('Y-m-d');
$data['assign_user'] = $this->Project_model->get_manager_cordinator_users($date);
Подробнее здесь: [url]https://stackoverflow.com/questions/42172785/get-qualifying-records-from-one-table-which-do-not-have-disqualifying-records-in[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия