powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помощь с запросом
21 сообщений из 21, страница 1 из 1
Помощь с запросом
    #39839012
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Помогите, пожалуйста, написать запрос.
Есть таблица house (дома):
поля id, name_adress...
и таблица system (идентификаторы домов в разных внешних системах):
id, house_id (ссылается на таблицу house), system_id (id системы), LID (сам идентификатор)

Нужно вывести все дома из таблицы house, у которых нет идентификатора системы под кодом 15 (system_id = 15).
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839015
Massa52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*,
Код: sql
1.
select * ftom [house] h inner join [system] s on h.id = s.house_id where LID <> 15
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839018
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*,

Соединить таблицу домов с таблицей с идентификаторами и поставить условие на соединение "не равно 15"

Хотя, подозреваю, что "у которых нет идентификатора системы" может означать не один-к-одному...

Может кто с магическим шаром придет и решит загадку, а то эти формулировки "выбрать отсюда все которые не те, но только такие, как один первый который не равен ни одному из тех, которые уже есть" мне не очень даются.
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839026
1C Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
DECLARE @house TABLE (id int, name_adress NVARCHAR(64)) 
DECLARE @system TABLE (id int, house_id int, system_id int) 

INSERT INTO @house(id, name_adress)
SELECT 1, 'house01' UNION ALL
SELECT 2, 'house02' UNION ALL
SELECT 3, 'house03' 

INSERT INTO @system(id, house_id, system_id)
SELECT 1, 1, 15 UNION ALL
SELECT 2, 2, 16 UNION ALL
SELECT 3, 4, 15

SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id
WHERE S.system_id <> 15 OR S.system_id IS NULL



Что-то вроде этого?
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839037
redsunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может так?
Код: sql
1.
2.
3.
4.
5.
select h.*
  from [house] h
 inner join [system] s
         on h.id = s.house_id
        and not s.system_id = 15
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839094
DymSig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1C Developer,
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id
WHERE S.system_id [color=red]=[/color] 15 [color=red]AND[/color] S.system_id IS NULL
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839096
DymSig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DymSig, сорри:
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id AND S.system_id = 15 
WHERE S.system_id IS NULL
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839103
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот так цветом надо выделять:DymSig1C Developer,
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id
WHERE S.system_id = 15 AND S.system_id IS NULL
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839116
1C Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DymSig1C Developer,
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id
WHERE S.system_id = 15 AND S.system_id IS NULL



Одновременно и 15 и NULL?:)

*Ann*, вроде бы, просила:

1. Нужно вывести все дома из таблицы house
2. Наложить фильтр - у которых нет идентификатора системы под кодом 15
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839186
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1C DeveloperDymSig1C Developer,
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM @house H
	LEFT JOIN @system S
		ON H.id = S.house_id
WHERE S.system_id = 15 AND S.system_id IS NULL




Одновременно и 15 и NULL?:)

*Ann*, вроде бы, просила:

1. Нужно вывести все дома из таблицы house
2. Наложить фильтр - у которых нет идентификатора системы под кодом 15Он же вроде исправленный вариант выложил (я, правда, не смотрел)
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839194
1C Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapОн же вроде исправленный вариант выложил (я, правда, не смотрел)

Не заметил:(
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839766
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за помощь.
Я попробовала сделать так:
select eah.orponid as "ГИД"
, eah.adr_adm_ter as "Адрес"
from house eah
where not exists (select 1 from system where house_id=eah.id and system_id = 354541476) is true

Возможно, коряво, но вроде все, что нужно, вывелось .
...
Рейтинг: 0 / 0
Помощь с запросом
    #39839802
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*Спасибо всем за помощь.
Я попробовала сделать так:
select eah.orponid as "ГИД"
, eah.adr_adm_ter as "Адрес"
from house eah
where not exists (select 1 from system where house_id=eah.id and system_id = 354541476) is true

Возможно, коряво, но вроде все, что нужно, вывелось .Что такое "is true"?
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840285
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если not exist значение "истина", то выбираем эти строки. Как-то так... возможно, это неправильно.
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840293
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapЧто такое "is true"?У ТС Постгресс

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840643
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*Ann*,
Код: sql
1.
2.
3.
4.
5.
select 
 eah.orponid as "ГИД",
 eah.adr_adm_ter as "Адрес"
from house eah
where not exists (select 1 from system where house_id=eah.id and system_id = 354541476)


Больше ничего не нужно по стандарту.
Вы правы. Удивительно, что выше никто раньше не написал правильный запрос.
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840811
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Теперь пробую сделать запрос, который выводит адреса, у которых есть идентификаторы систем 1, 2, 3 (например) и нет идентификаторов систем 4, 5, 6. Те адреса, у которых совсем нет идентификаторов, тоже нужно вывести. Через Exist не получается. Подскажите, пожалуйста, какие еще есть возможности?
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840852
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap*Ann*Спасибо всем за помощь.
Я попробовала сделать так:
select eah.orponid as "ГИД"
, eah.adr_adm_ter as "Адрес"
from house eah
where not exists (select 1 from system where house_id=eah.id and system_id = 354541476) is true

Возможно, коряво, но вроде все, что нужно, вывелось .Что такое "is true"?

чтобы наверняка, без сомнений
...
Рейтинг: 0 / 0
Помощь с запросом
    #39840853
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*Ann*Добрый день.
Теперь пробую сделать запрос, который выводит адреса, у которых есть идентификаторы систем 1, 2, 3 (например) и нет идентификаторов систем 4, 5, 6. Те адреса, у которых совсем нет идентификаторов, тоже нужно вывести. Через Exist не получается. Подскажите, пожалуйста, какие еще есть возможности?

вы веселая
...
Рейтинг: 0 / 0
Помощь с запросом
    #39841179
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
*Ann*,

Код: sql
1.
2.
3.
select 
...
where (exists(адреса, у которых есть идентификаторы систем 1, 2, 3 ) and not exists (идентификаторов систем 4, 5, 6)) or (exists(Те адреса, у которых совсем нет идентификаторов))


При условии, что я правильно понял 1,2,3-условие ИЛИ,а не И.
Это первое приближение, дальше сами.
...
Рейтинг: 0 / 0
Помощь с запросом
    #39841332
*Ann*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit,
спасибо большое. Разобралась, все получилось.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помощь с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]