|
|
|
Выборка из таблицы по нескольким параметрам
|
|||
|---|---|---|---|
|
#18+
добрый день, существует такая база: CREATE TABLE `TEST` ( `ID` int(10) NOT NULL, `TAB1` int(15) DEFAULT NULL, `TAB2` varchar(1) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `TEST` (`ID`, `TAB1`, `TAB2`) VALUES (23786, 2766, 'B'), (28606, 2766, 'B'), (29864, 2764, 'A'), (11748, 2764, 'A'), (11876, 2765, 'B'), (11116, 2767, 'B'), (12014, 2764, 'B'), (12103, 2764, 'B'), (12104, 2764, 'B'), (11131, 2764, 'B'), (12222, 2768, 'B'), (111697, 2766, 'B'), (111781, 2766, 'B'), (112115, 2764, 'B'), (23774, 2766, 'S') как выбрать все поля, где TAB1 != 2764 или TAB1 != 2765 и TAB2 != "S" что то я совсем потерялся, спасибо за ранее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2016, 19:33 |
|
||
|
Выборка из таблицы по нескольким параметрам
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2016, 19:41 |
|
||
|
Выборка из таблицы по нескольким параметрам
|
|||
|---|---|---|---|
|
#18+
Спасибо за столь быстрый ответ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2016, 19:50 |
|
||
|
Выборка из таблицы по нескольким параметрам
|
|||
|---|---|---|---|
|
#18+
Akina, -- еще можно один вопросец? -- есть две таблицы, сегодня 2016-10-18 CREATE TABLE `TEST0` ( `ID` int(10) NOT NULL, `TAB1` int(15) DEFAULT NULL, `TAB2` varchar(1) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `TEST0` (`ID`, `TAB1`, `TAB2`) VALUES (23786, 2766, 'B'), (28606, 2766, 'B'), (29864, 2764, 'A'), (11748, 2764, 'A'), (11876, 2765, 'B'), (11116, 2767, 'B'), (12014, 2764, 'B'), (12103, 2764, 'B'), (12104, 2764, 'B'), (11131, 2764, 'B'), (12222, 2768, 'B'), (111697, 2766, 'B'), (111781, 2766, 'B'), (112115, 2764, 'B'), (23774, 2766, 'S') -- и CREATE TABLE `TEST1` ( `ID` int(10) NOT NULL, `DATA` date DEFAULT "2016-01-01", `TAB20` varchar(1) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `TEST1` (`ID`, `DATA`, `TAB20`) VALUES (23786, '2016-10-02'), 'NA'), (23786, '2016-10-03', 'NA'), (23786, '2016-10-04', 'NA'), (23786, '2016-10-05', 'OFF'), (11748, '2016-10-01', 'NA'), (11748, '2016-10-07', 'NA'), (11748, '2016-10-09', 'NA'), (11748, '2016-10-18', 'ON'), (11876, '2016-10-01', 'NA'), (11876, '2016-10-07', 'NA'), (11876, '2016-10-09', 'ON'), (11876, '2016-10-14', 'OFF') -- выбрать все ID, где TEST1.TAB1 != 2764 или TEST0.TAB1 != 2765 и TEST0.TAB2 != "S" и TEST1.TAB20 не равнялось "ON" у ID и учитывать дату ≥ 3 дням от сегодняшней -- те результат дожен быть 23786 и 11748, так как у ID 11876 событие ON случилось 2016-10-09 и ее не надо учитывать, так же как у 11748 оно произошло один день назад от сегодняшней спасибо еще раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2016, 20:05 |
|
||
|
Выборка из таблицы по нескольким параметрам
|
|||
|---|---|---|---|
|
#18+
-- немного поправка, ошибочка была: CREATE TABLE `TEST0` ( `ID` int(10) NOT NULL, `TAB1` int(15) DEFAULT NULL, `TAB2` varchar(1) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `TEST0` (`ID`, `TAB1`, `TAB2`) VALUES (23786, 2766, 'B'), (28606, 2766, 'B'), (29864, 2764, 'A'), (11748, 2764, 'A'), (11876, 2765, 'B'), (11116, 2767, 'S'), (23774, 2766, 'S') CREATE TABLE `TEST1` ( `ID` int(10) NOT NULL, `DATA` date DEFAULT "2016-01-01", `TAB20` varchar(2) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin; INSERT INTO `TEST1` (`ID`, `DATA`, `TAB20`) VALUES (23786, '2016-10-02', 'NA'), (23786, '2016-10-05', 'OFF'), (11748, '2016-10-01', 'NA'), (11748, '2016-10-18', 'ON'), (11876, '2016-10-01', 'NA'), (11876, '2016-10-09', 'ON'), (11876, '2016-10-14', 'OFF'), (23774, '2016-08-14', 'ON'), (23774, '2016-09-14', 'OFF') -- выбрать все ID, где TEST1.TAB1 != 2777 или TEST0.TAB1 != 2764 и TEST0.TAB2 != "S" и в TEST1.TAB20 событие "ON" ни разу не произошло либо старше трех дней (у ID и учитывать дату ≥ 3 дням от сегодняшней 18.10.2016) -- те результат должен быть 23786, 11876 ID 23786 событие ON не было ID 11876 событие ON случилось 2016-10-09 и оно старше 3х дней ID 11748 событие ON случилось 2016-10-09 и у него профиль "2764" ID 23774 статус "S" ID 11116 статус "S" вот так будет понятно думаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2016, 11:36 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39329286&tid=1831307]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 446ms |

| 0 / 0 |
