boost :: program_options: возможно ли установить один параметр как значение по умолчанию для другого?

Я думаю, вам нужны скобки в вашем предложении where ...

WHERE
    chartTime >= CONVERT(datetime, '2013-06-01 00:00:00') 
    AND 
    (interventionId IN (SELECT [interventionId] 
                           FROM [CISReportingDB].[dbo].[PtAssessment]
                           WHERE interventionId IN (6659, 9899, 11870)) 
    OR verboseForm LIKE 'sibil. exp%' 
    OR attributeId LIKE '67194%')

Это вернет строки, где chartTime >= '2013-06-01 00:00:00' ваша дата ... и одно из других условий завершается. Без круглых скобок у вас есть противоречивая логика AND / OR, означающая, что она вернет строки, где verboseForm LIKE 'sibil. exp%' OR attributeId LIKE '67194%'

В противном случае вам нужно убедиться, что есть строки, которые действительно соответствуют вашей фильтрации ... что означает interventionId либо 6659,9899, ​​либо 11870, либо verboseForm LIKE 'sibil. exp%' OR attributeId LIKE '67194%'.

Наконец, предложение IN является избыточным ... вы можете просто перечислить значения один раз:

WHERE
    chartTime >= CONVERT(datetime, '2013-06-01 00:00:00') 
    AND 
    (interventionId IN (6659, 9899, 11870) 
    OR verboseForm LIKE 'sibil. exp%' 
    OR attributeId LIKE '67194%')
0
задан cs912381 18 January 2019 в 21:21
поделиться

1 ответ

Я полагаю, что вы хотите позвонить уведомить только один раз, в конце.

Я пытался сделать для этого уведомитель, но вы не можете изменить значение в variable_map после факта. Лучшее, что я мог придумать, это создать фальшивую переменную, но затем сохранение ее в variable_map стало слишком большой работой, и я сдался!

0
ответ дан Jayen 18 January 2019 в 21:21
поделиться
Другие вопросы по тегам:

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