не могу за жизнь мне понять, почему им получать эту строку назадЛогика оператора Postgres не работает?
order_id | job_name | memname | status | state
----------+----------+---------+----------------+----------
0e4ba | pwd_test | | Wait Condition | Deleted
работает этот запрос
select order_id, job_name, memname, status, state
from a150708002_ajob
where order_time < '20150601'
and status != 'Ended OK'
or state != 'Deleted'
and order_time < '20150601';
общий результат:
em800=> select order_id, job_name, memname, status, state from a150708002_ajob where order_time < '20150601' and status != 'Ended OK' or state != 'Deleted' and order_time < '20150601';
order_id | job_name | memname | status | state
----------+----------+---------+----------------+----------
0e4ba | pwd_test | | Wait Condition | Deleted
0eevd | DBPE220A | | Wait Condition | Held
0eeve | SHAW | | Wait Condition | Held
Не уверен, что происходит ?
Update:
Пытался ниже до сих пор нет успеха
em800=> select order_id, job_name, memname, status, state from a150708002_ajob where order_time < '20150601' and not (status = 'Ended OK' or state = 'Deleted');
order_id | job_name | memname | status | state
----------+----------+---------+----------------+----------
0e4ba | pwd_test | | Wait Condition | Deleted
0eevd | DBPE220A | | Wait Condition | Held
0eeve | SHAW | | Wait Condition | Held
(3 rows)
схема таблицы:
Table "public.a150701002_aevt"
Column | Type | Modifiers
----------------------+-----------------------------+-----------
evt_no | integer | not null
evt_time | timestamp without time zone | not null
evt_type | character varying(1) | not null
new_value | integer |
old_value | integer |
order_id | character varying(5) |
state_digits_new_ffu | character varying(15) |
state_digits_old_ffu | character varying(15) |
Indexes:
"pk_a150701002_aevt_0" PRIMARY KEY, btree (evt_no)
task_class | character varying(3) |
ind_cyclic | character varying(1) |
reten_days | character varying(3) |
reten_gen | character varying(2) |
order_table | character varying(770) |
order_lib | character varying(44) |
sticky_ind | character varying(1) |
seq_cnt_added | integer |
short_ffu | character varying(12) |
dsect_ffu | character varying(100) |
isn_ | integer | not null
time_ref | character varying(1) |
time_zone | character varying(9) |
appl_type | character varying(10) |
appl_ver | character varying(10) |
appl_form | character varying(30) |
cm_ver | character varying(10) |
state_mask | character varying(9) |
multy_agent | character varying(1) |
schedule_env | character varying(16) |
sys_affinity | character varying(5) |
req_nje_node | character varying(8) |
adjust_cond | character varying(1) |
in_service | character varying(255) |
stat_cal | character varying(30) |
stat_period | character varying(1) |
instream_jcl | text |
use_instream_jcl | character varying(1) |
lpar | character varying(8) |
due_out_daysoffset | character varying(3) |
from_daysoffset | character varying(3) |
to_daysoffset | character varying(3) |
order_time | character varying(14) |
avg_start_time | character varying(6) |
cpu_time | integer |
em_stat_cal_ctm | character varying(20) |
em_stat_cal | character varying(30) |
em_stat_period | character varying(1) |
interval_sequence | character varying(4000) |
specific_times | character varying(4000) |
tolerance | integer |
cyclic_type | character varying(1) |
current_run | integer |
elapsed_runtime | integer |
workloads | character varying(525) |
def_nodegroup | character varying(50) |
nodegroup_set_by | character varying(1) |
failure_rc | character varying(5) |
failure_rc_step | character varying(8) |
failure_rc_procstep | character varying(8) |
highest_rc | character varying(5) |
highest_rc_step | character varying(8) |
highest_rc_procstep | character varying(8) |
highest_rc_memname | character varying(8) |
associated_rbc | character varying(20) |
cm_status | character varying(32) |
depend_service_in | character varying(1) |
depend_service_out | character varying(1) |
em_stat_detail_data | character varying(1500) |
prev_odate_rerun_counter | integer |
jobrc | character varying(5) |
в ответ на Норберта ван Nobelen ответ
em800=> select order_id, status, state from a150712002_ajob where order_time < '20150615' and (status != 'Ended OK' or state != 'Deleted') and order_time < '20150615';
order_id | status | state
----------+----------------+----------
0eevd | Wait Condition | Deleted
0eeve | Wait Condition | Held
(2 rows)
ОТВЕТ:
оказывается логик был прекрасен его только значение внутри клетки имело косую пробельные
ctmtest1-tctmsv80 [13] python del_jobs_main.py 20150625 150712
select order_id, status, state from a150712002_ajob where order_time < '20150625' and not (status = 'Ended OK' or state = 'Deleted');
' order_id | status | state '
'----------+----------------+----------'
' 0eeve | Wait Condition | Deleted '
' 0eevd | Wait Condition | Deleted '
'(2 rows)'
так я только что добавил косую белого символа пробела на мой запрос. Спасибо, ребята :)
Мой удаленный ответ был неправильным для этого; Я не заметил, что один столбец был «status», а один был «state». Я думаю, вам действительно нужно показать нам входные данные (предпочтительно, как «CREATE TABLE» и «INSERT's»). Взгляните на http://sqlfiddle.com/ –
Эта таблица создана приложением. Я добавил схему в исходное сообщение –