Лучший способ проверить, что список объектов существует в столбце базы данных SQL?

Я думаю, это то, что вы ищете. Вам нужно использовать правильную функцию getRange (), которая определяет размеры диапазона; тот, который принимает только два аргумента, всегда возвращает одну ячейку.

Программа также устанавливает цвет фона для ясности в том, что диапазон на самом деле.

Это также установит выбор, но вы, возможно, захотите понять связь между диапазонами и Классом выбора

function addSong(song) {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var lastRow = sheet.getLastRow()
  sheet.appendRow([lastRow+1,song]);
  var range = sheet.getRange(sheet.getLastRow(), 1);
  // getRange(row, column, numRows, numColumns)
  var range = sheet.getRange(sheet.getLastRow()-1, 1, 2, 2);

  SpreadsheetApp.setActiveRange(range);
  range.setBackground('green');
}

function test() {
  addSong("Stairway to Heaven");
}

6
задан Brian Tompsett - 汤莱恩 16 September 2016 в 10:39
поделиться

3 ответа

Так как список фруктов, из которых Вы выбираете, может быть произвольно длинным, я предложил бы следующее:

create table FruitList (FruitName char(30))
insert into FruitList values ('apples'), ('pears'), ('oranges')

select * from FruitList left outer join AllFruits on AllFruits.fruit = FruitList.FruitName
where AllFruits.fruit is null

Левое внешнее объединение должно быть намного быстрее, чем "не в" или другие виды запросов.

12
ответ дан 8 December 2019 в 13:50
поделиться

Составьте поисковый список в строку, которая похожа '|fruit1|fruit2 |... fruitn |', и сделайте Ваш где пункт:

where
  @FruitListString not like '%|' + fruit + '|%'

Или, проанализируйте вышеупомянутую строку во временную таблицу или табличную переменную и сделайте where not in (select fruit from temptable). В зависимости от количества объектов Вы ищете и количество искавших объектов, этот метод мог быть быстрее.

3
ответ дан 8 December 2019 в 13:50
поделиться
if exists(select top 1 name from fruit where name in ('apples', 'pairs', 'pomegranates'))
  PRINT 'one exists'
2
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

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