Условное выражение SQL, где

Попробовать отладить его через Promise.each(), возможно? Поскольку итерация последовательная, вы будете знать, какой Promise вас беспокоит.

Во-вторых, было бы здорово, если бы вы указали вспомогательную функцию.

В-третьих, почему with? Если вы проверяете MDN - с помощью , в нем четко указано , и я цитирую :

Использование оператора with не рекомендуется, так как это может быть источник запутанных ошибок и проблем совместимости. Это имеет противоречие с двусмысленностью. Оператор with затрудняет для читателя или компилятора JavaScript решение о том, будет ли найдено неквалифицированное имя в цепочке областей действия, и если да, то в каком объекте.

BLOCKQUOTE>

8
задан madcolor 9 December 2008 в 16:42
поделиться

4 ответа

Попробуйте это:

select * from orders o
where o.orderdate between @startdate AND @enddate
and ((@Closed = 1 And o.ClosedDate IS NULL) Or (@Closed = 0 And o.ClosedDate IS NOT NULL))

Будьте варьируются осторожные относительно смешивания AND's и OR's в где пункт. При выполнении этого круглая скобка для управления порядком оценки ОЧЕНЬ важна.

14
ответ дан 5 December 2019 в 10:44
поделиться

SQL-оператор:

SELECT *  
FROM orders  
WHERE orderdate BETWEEN @startdate AND @enddate  
AND (@Closed = 1 OR CLosedDate IS NOT NULL)
2
ответ дан 5 December 2019 в 10:44
поделиться

Или это:

select * from orders o
where o.orderdate between @startdate AND @enddate
and (  (@Closed = 1 AND o.ClosedDate IS NULL)
     OR (ISNULL(@Closed, 0) <> 1 AND o.ClosedDate IS NOT NULL)
     )

Похоже на желание всех заказов между двумя датами, которые имеют непоследовательную Близкую информацию. Другие предложения, вероятно, как хорошие (или лучше), но я вполне уверен, что это работает и читаемо мне (большинство других предложений появилось, поскольку я вводил).

Удачи!

0
ответ дан 5 December 2019 в 10:44
поделиться

Basicly, выпишите его.

select * from orders o
where o.orderdate between @startdate AND @enddate
and ((@Closed = 1 and o.ClosedDate IS NULL)
    or (@Closed != 1 and o.ClosedDate IS NOT NULL))

удвойтесь, может быть удален

0
ответ дан 5 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: