Если в таблице существует несколько записей SQL
Привет,
Я пытаюсь вывести результаты в следующем формате;
number exists 123456 1 345633 0 243234 1 865445 1
где "существует" равно 1 или 0 в зависимости от того, существует ли "число" в таблице X.
Я пробовал все виды вещей, но это всегда заканчивается тем, что показывает только те числа, которые существуют рядом с 1, но не показывает те, которые не существуют рядом с 0.
Я хотел бы сделать это без создания дополнительных таблиц, если это возможно, и важно вернуть, существует ли каждое поле или нет, как только оно будет найдено в X, поскольку X содержит несколько сотен тысяч записей, и было бы неэффективно, если бы запись была найдена, но остальная часть таблицы сканируется, чтобы продолжить ее поиск.
ОБНОВЛЕНИЕ:
Теперь у меня есть:
CREATE TEMPORARY TABLE numbers (number int(11)); insert into numbers (number) values (1),(2),(3); SELECT n.number COALESCE((SELECT TOP 1 1 where n.number in ('1','2','3','4')), 0) AS 'exists' FROM numbers n
но теперь есть еще одна синтаксическая ошибка,
Error in query (1064): Syntax error near '((SELECT TOP 1 1 where n.number in ('1','2','3','4')), 0) AS 'exists' ' at line 2
Что я уже пробовал:
ВЫБЕРИТЕ 1 ГДЕ СУЩЕСТВУЕТ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
СОЮЗ
F-ES Sitecore
Не знаю, почему вы думаете, что кто-то может дать вам рабочий запрос, не зная схемы базы данных или некоторых образцов данных. Несмотря на это, вы, вероятно, хотите "соединить слева" две таблицы вместе и сделать какой-то "случай, когда", который возвращает 1, является полем в таблице, которую вы оставили присоединенной, "не нулевым" и 0, если оно "равно нулю".
[no name]
Они могут использовать здравый смысл, чтобы знать, как это работает, ни спрашивающему, ни ответчику не нужно кормить ложкой.
F-ES Sitecore
Вы явно нуждаетесь в том, чтобы вас кормили с ложечки, поскольку вам дали пример реализации моего комментария выше, и вы не понимаете, какой бит решения является тем битом, который вам действительно нужен, а какой бит-это просто настройка образцов данных, которые вам не нужны. Вот почему нет особого смысла тратить усилия на эти типы вопросов, поскольку спрашивающий редко имеет возможность действительно понять то, что ему говорят, и применить это к своей собственной проблеме.
[no name]
Я точно знаю, какая часть является примером данных, это очевидно. Не принимайте меня за идиота.
F-ES Sitecore
Так почему же вы ответили жалобой на настройку выборочных данных, а не посмотрели на суть запроса, поняв его и применив к своим собственным данным?
[no name]
Я не жалуюсь на примеры данных, создание временной таблицы не имеет никакого отношения к моей реализации. Я думал, ты это знаешь.
F-ES Sitecore
Да, это так, тот бит синтаксиса, который, как вы сказали, не работает, не нужен для вашего решения, это просто настройка тестовых данных.
[no name]
Без создания постоянных таблиц именно так я и собираюсь это сделать, но это не работает, и это не имеет никакого отношения к моей реализации.