Articles of postgresql

POSTGRESQL: как фильтровать для создания запроса?

У меня есть вопрос с текстовой книгой; Перечислите идентификаторы и имена людей, которые получили класс A для каждого класса для таблиц; Студент {studentID, имя} Класс {studentID, имя курса, класс} и я не уверен, как отфильтровать оценки, чтобы я только показывал учеников А. Пока у меня есть решение SELECT Student.studentID, Student.name FROM Student, Grade WHERE Student.studentID […]

Можно ли назвать столбцы результатов SQL из строк в другой таблице? (Postgres)

В основном у меня есть пользователи с динамической таблицей атрибутов. Упрощенная: SELECT * FROM users; id | email —–+—————————————— 1 | example@example.com SELECT * FROM user_attributes; id | name —-+—————- 1 | Salutation 2 | Given Name 3 | Surname 4 | Alias 5 | Address 6 | Address 2 7 | Address 3 8 […]

Решение JOIN для Postgres с множеством таблиц

Небольшая проблема в базе данных Postgres, управляемая в Acqua Data Studio: Мне нужно решение для создания SELECT, которое объединяет многие представления в одну таблицу. Есть более 10 просмотров. У одного центра может быть много идентификаторов, а один идентификатор может иметь множество центров. Итак, основной ПК таблицы будет центральным идентификатором. Один пример, который применяется (при условии, […]

ОБНОВЛЕНИЕ из результата SELECT

У меня проблема с обновлением моей таблицы с помощью выбора из другой таблицы. Вот мое описание: Таблица имеет следующие поля: part_num PK active notes weight Таблица importedDocument имеет следующие поля: part_num PK active notes weight quantity PK condition_id PK part_num part уникален, но part_num в importedDocument нет. part_num того, часть part_num которая находится в importedDocument […]

Итерация по каждому элементу из массива массивов на Postgresql

У меня есть VARCHAR чисел внутри моей хранимой процедуры, эти числа организованы как массивы, я покажу пример ниже: {1,2,3,4,5,6,7,8,9},{1,2,3,4,5},{1,2,3},{9} — This is a STRING Теперь с помощью другого парня отсюда я использую это, чтобы получить целые массивы integer[] SELECT string_to_array(regexp_split_to_table( trim('{1,2,3,4,5,6,7,8,9},{1,2,3,4,5},{1,2,3},{9}', '{}') , '},{'), ',')::int[] У меня будет набор записей, каждый из которых с массивом, […]

Правильный способ использования «NOT IN» Postgres

У меня есть две таблицы, Люди и Транспортные средства. Транспортные средства принадлежат людям. Я пытаюсь проверить, нет ли у человека транспортного средства. Я пытался сделать это, присоединившись к людям и транспортным средствам и отображая идентификатор лиц, который НЕ находится в Vehicle.person_id. Это ничего не возвращает, и мне интересно, есть ли что-то, что я сделал неправильно, […]

Получите значения двойной точности из несоответствующих строк для использования ST_GeomFromText (PostGIS)

У меня есть таблица PostgreSQL со столбцом, содержащим строки в следующем формате: '3.985 58.934, 4.56 61.2323, 5.4 63.234355, 3.25982 59.309' '3.985 58.934, 4.56 61.2323, 5.4 63.234355, 3.25982 59.309, 4.5632 58.32423' 'and so on…' Как вы можете видеть, столбец содержит координаты разной длины в виде строк в одной строке. Я хотел бы использовать функцию PostGIS: ST_GeomFromText('LINESTRING(3.985 […]

Внутреннее соединение по регулярным выражениям

У меня есть внутреннее соединение на регулярных выражениях – это очень медленно. Есть ли простой способ ускорить это? Я использую postgres. FROM A inner join B ON trim(lower(replace(replace(replace(B.enginequery,',',' '),'"',' '),'+',' '))) = trim(lower(A.keyphrase)) OR trim(lower(replace(replace(replace(B.enginequery,',',' '),'"',' '),'+',' '))) ~ (trim(lower(A.keyphrase)) || '$') OR trim(lower(replace(replace(replace(B.enginequery,',',' '),'"',' '),'+',' '))) ~ (trim(lower(A.keyphrase)) || ' ')

Как объединить два запроса в sqlalchemy – raw и orm?

У меня есть следующие запросы: funds_subq = text('''select distinct on (user_id) user_id, last_value(amount) over(PARTITION BY user_id order BY id asc RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) from transactions order by user_id, ts_spawn desc''') g1 = aliased(Group) u1 = aliased(User) users = Session.query(User.id.label('user_id'), User.name.label('user_name'), User.funds.label('user_funds'), Group.id.label('group_id'), Group.parent_id.label('parent_id'), u1.id.label('owner_id'), u1.name.label('owner_name')). \ select_from(User). \ join(Group, Group.id == […]

Данные COPY из таблицы 1 в таблицу2 с датой, установленной как 7 дней назад или 14 дней назад?

У меня есть таблица1, в которой есть много столбцов – A B C Теперь у меня есть таблица2, у которой есть много столбцов A B C D E В таблице 2 у меня есть D как created_date и E как updated_date . Теперь я хочу импортировать данные таблицы1 в таблицу2, для которой я уже экспортировал […]