0

запросы к бд

Mammedov 5 years ago in Micromine updated 5 years ago 22

Добрый день. Как можно создать запросы по одному полю. чтобы вывести несколлько значений

Тоесть есть скважина, ее пробы есть и в оксидной и в сульфидной руде, делаеться запрос чтобы вевести обе категории проб только конкретной скважины, напрмер скважины номер 1, но выводиться все пробы скважин 

нужно конкретной одной

Запрос делаю с помощью OR

Image 2069

Answer

Answer

Попробуйте в ячейке Field Name, нажать правой кнопкой мыши и выбрать команду Edit Expression.

Затем в редакторе выражений прописать следующее:

IN([HOLE-ID], "GC-18", "GC-15", "GC-25") & ([NAME]="ORE" | [NAME]="OREOX") закрыть выражение.

в столбце Operator указать True и Value оставить пустым.

Приветствую !

Попробуйте выбрать Equation и в поле написать "1&(2|3)" без кавычек.

Спасибо получилось.

Можно ли зделать запрос, чтобы вывел конкретные скважины, пробы которых попадают и в сульфид и в оксид

но только с помощью одного запроса ?

в SQL есть такой оператор IN

Answer

Попробуйте в ячейке Field Name, нажать правой кнопкой мыши и выбрать команду Edit Expression.

Затем в редакторе выражений прописать следующее:

IN([HOLE-ID], "GC-18", "GC-15", "GC-25") & ([NAME]="ORE" | [NAME]="OREOX") закрыть выражение.

в столбце Operator указать True и Value оставить пустым.

В своем фильтре удалите первую строку и используйте логический оператор And, этого должно быть достаточно.

Да но у меня задан кокретный список скважин, как я это должен написать в фильтре ?

и у меня их около 60, каждую скважину вводить в фильтре по отдельности ?

Сразу не посмотрел, у вас в одном поле прописан тип руд, поэтому руда может быть или сульфидная или окисленная !

да руда может быть и оксидная и сульфидная

Руда одновременно не может быть и сульфидная и окисленная.

Одной пробе может соответствовать только один тип руды и он у вас записан в поле NAME

извените конечно одновременно не может быть. просто список скважин, вот что меня затрудняет

тоесть не хотелось бы их вводить по отдельности

А их и не надо все вводить, вы по всем скважинам просто выбираете тот или иной тип руд, остальные скважины которые не соответствуют условию не войдут в выборку.

В общем условие по выбору той или иной скважине вводить вообще не нужно, работайте только с полем NAME в фильтре.

Это  можно сделать.

но у меня стоит так задача из 100 скважин надо выбрать конкретно 60, у которых пробы попадают и в оксид и в сульфид

конкретные 60

Вам скорее подойдет такой фильтр

хорошо этот вопрос будет выполнен, а как дальше выбирать конкретные 60 скважин.

Чем эти 60 скважин отличаются от остальных 40 ? Возможно нужно создать ещё поле например Мои_60_скважин и просто выбрать в визексе эти 60 скважин и присвоить полю Мои_60_скважин единичку или другой код, тогда в фильтре добавляем строку Мои_60_скважин=1 и тогда вы уже точно будете работать с конкретным набором своих 60 скважин, плюс добавляете условия по типу руд.

OK спасибо. понял как сделать. Жаль что нету встроенного SQL

Ну да запросы в чистом виде как в SQL делать не получится, можно подключать внешнюю базу Access, предварительно сделав в ней нужные вам запросы и открывать их в micromine как таблицы.

понятно спасибо