Запросы на обе колонки в одном городе таблицы - PullRequest
0 голосов
/ 29 апреля 2018

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

Мне дали список от клиента например, name timestamp

Я хочу поместить их во временную таблицу, а затем запросить их, например, например.

select reading where reading_table 
where name = t.c1 row1 and timestamp =t.c2 row1

, а затем просто зациклите каждую запись в таблице

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

, например

select reading where reading_table 
where name = row1 name and timestamp = row1 timestamp
select reading where reading_table 
where name = row2 name and timestamp = row2 timestamp

. , .

select reading where reading_table 
where name = lastrow name and timestamp = lastrow timestamp

Если бы это был только один столбец, я бы просто использовал IN, но не уверен, что означают 2 столбца.

1 Ответ

0 голосов
/ 29 апреля 2018

Обычно вы должны использовать оператор JOIN. Но вы все равно были очень близки:

Если бы это был только один столбец, я бы просто использовал IN, но не уверен, что означают 2 столбца.

IN поддерживает несколько столбцов.

SELECT reading 
FROM reading_table 
WHERE (name, timestamp) IN (SELECT name, timestamp FROM client);

Внимание! Это будет работать, только если оба столбца определены как NOT NULL.

...