powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SQL запрос
6 сообщений из 6, страница 1 из 1
SQL запрос
    #38930335
legioner_007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Нужна помощь в составлении запроса.
исходные данные

типы значений
1растояние2планировка3общая площадь

обьявления
1 1 обьявление2 2 обьявление

значения обьявлений
id id обьявления id типа значение1 1 1 10 км2 1 3 10 кв3 2 3 12 кв4 2 2 новая


мне нужно получить вот такую выборку
id обьявления расстояние планировка обьщая площадь1 10 км 10 кв2 новая 12 кв


авторSELECT
adt.id,
prop1.value,
prop2.value,
prop3.value
FROM
advert as adt

INNER JOIN propertyvalue as adt_prop1 ON adt_prop1.advert_id = adt.id
INNER JOIN property as prop1 ON prop1.id = adt_prop1.type_id

INNER JOIN propertyvalue as adt_prop2 ON adt_prop2.advert_id = adt.id
INNER JOIN property as prop2 ON prop2.id = adt_prop2.type_id

INNER JOIN propertyvalue as adt_prop3 ON adt_prop3.advert_id = adt.id
INNER JOIN property as prop3 ON prop3.id = adt_prop3.type_id

WHERE
prop1.name LIKE 'растояние' AND prop2.name LIKE 'планировка' AND prop3.name LIKE 'общая площадь';

так как некоторых значений у меня нет то получаю пустую выборку. Помогите составить запрос. Заранее спасибо.
...
Рейтинг: 0 / 0
SQL запрос
    #38930358
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legioner_007,

left join?
...
Рейтинг: 0 / 0
SQL запрос
    #38930461
legioner_007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tadmin,
к сожалению нет, пустая выборка.
...
Рейтинг: 0 / 0
SQL запрос
    #38930502
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legioner_007,

вам нужно либо попытаться понять принципы построения запросов, либо в случайном порядке менять inner на left и AND на OR
Если бы вы приложили переносимый скрипт, вам, скорее всего, помогли.
Никто не станет набивать за вас таблицы данными
...
Рейтинг: 0 / 0
SQL запрос
    #38930524
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legioner_007tadmin,
к сожалению нет, пустая выборка.
+ max(value) и group by по id
...
Рейтинг: 0 / 0
SQL запрос
    #38930543
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
legioner_007,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT a.id,
       p1.value p1_v,
       p2.value p2_v,
       p3.value p3_v
  FROM advert a
  LEFT JOIN prop_value p1 ON a.id=p1.a_id AND p1.type=1
  LEFT JOIN prop_value p2 ON a.id=p2.a_id AND p2.type=2
  LEFT JOIN prop_value p3 ON a.id=p3.a_id AND p3.type=3;


У вас проблема в том, что вы типы свойств вынесли в WHERE часть, таким образом отфильтровывая все записи, в которых отсутствет хотя бы одно из необходимых свойств.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SQL запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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