SQL-запрос направляющих с находкой

В 2012 году вы можете сделать следующее: после того, как вы это сделаете, он запомнит, тогда вам не нужно использовать окно зарегистрированного сервера.

Set the Status Color for a Server in Object Explorer
To set a server status color in Object Explorer
1.  In Object Explorer, select the Connect button and then select Database Engine….
2.  On the Connect to Server dialog, select Options >>.
3.  Select the Use custom color check box.
4.  To select the color, select the Select… button.
5.  Select either a basic or custom color, then select OK.
6.  Fill in the rest of the connection information, and then select the Connect button.
7
задан Guido 28 May 2011 в 16:05
поделиться

2 ответа

Простой способ:

ids = LevelsQuestion.all(:select => "question_id", 
        :conditions => "level_id = 15").collect(&:question_id)
Question.all(:select => "id, name", :conditions => ["id not in (?)", ids])

Один выстрел:

Question.all(:select => "id, name",
:conditions => ["id not in (select question_id from levels_questions where level_id=15)"])
21
ответ дан 6 December 2019 в 04:49
поделиться
Question.find_all_by_sql('select id,name from questions where id not in (select question_id from levels_questions where level_id=15)')

По общему признанию, это не относится к ActiveRecord, но я считаю, что такие сложные запросы, как этот, как правило, МЕНЬШЕ четкие / эффективные при использовании макросов AR. Если у вас уже есть построенный SQL, вы также можете его использовать.

Некоторые предложения: инкапсулируйте этот вызов поиска в метод ВНУТРИ класса Question, чтобы скрыть детали от контроллера / представления, и рассмотрите другие конструкции SQL, которые могут быть более эффективный (например, ВНЕШНЕЕ СОЕДИНЕНИЕ, где level_questions.question_id имеет значение null)

28
ответ дан 6 December 2019 в 04:49
поделиться
Другие вопросы по тегам:

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