сравнить столбец с текстовым массивом в postgressql - PullRequest
0 голосов
/ 05 августа 2020

У нас есть база данных PostgreSQL, где у меня есть две таблицы с типом данных text [] столбца. Когда я использую внутреннее соединение для получения деталей, я не вижу, чтобы оно соответствовало какой-либо строке. например,

create table test{
names text[],
id
}

create table test_b{
names text[],
id
}

теперь, когда я запускаю запрос ниже,

SELECT t.* from test t inner join test_b tt 

, где t.names = tt.names; Я не вижу результатов. Я даже пробовал обычный запрос с

SELECT * FROM test where names='{/test/test}';

Он тоже не работал. Есть предложения?

1 Ответ

0 голосов
/ 05 августа 2020

Я подозреваю, что вам нужен оператор перекрытия массивов &&. Кроме того, поскольку вам не нужно ничего возвращать из test_b, использование exists с коррелированным подзапросом более актуально, чем join:

select t.* 
from test t 
where exists (select 1 from test_b b where t.names && b.names)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...