<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

помогите исправить запрос
01.08.2015 16:25:11 помогите исправить запрос Сообщение #1
Maverick84

Maverick84

Новичок

Новичок

Дата регистрации:
01.08.2015 13:52:37

Сообщений: 2

Добрый день всем!

Задача такая: есть 3 таблицы. В одной перечень устройств, в другой название параметра, а в третей их параметры. Нужно
вывести список устройств с названием параметра у которых значение
параметра одинаковые с указанием значения параметров.
table_1 - находятся перечень устройств. Есть поля -  object_id, object_type_id и name
table_2 - находятся параметры этих устройств. Есть поля -  atr_id, object_type_id и name
table_3 - находятся значения этих параметров. Есть поля -  atr_id, object_type_id и value

Выполняю следующий запрос:
SELECT 1.object_id, 1.name, 2name, 3.value, COUNT(3.value)
FROM table_1 1 --выбираю устройства
JOIN table_2 2 -- соединяю с нужным параметром
ON (1.object_type_id=2.object_type_id AND 1.object_type_id=5 AND
2.atr_id=10) --соединяю по одинаковому значению типа типа устройства,
где 1.object_type_id=5 - тип устройства  AND 2.atr_id=10 - нцжный
параметр
LEFT JOIN table_3 3 --соединяю с нужным значением параметра
ON (1.object_id=3.object_id AND 3.atr_id=10)
group BY 3.value -- группирую по одинаковому значению параметра
HAVING COUNT(3.value) > 1 --проверяю где совпадают значения параметров

Проблема в том, что выводит склеенный список устройств и параметр по которому они совпали, а нужно вывести перечень устройств.

Вывод должен быть в таком виде:
object_id 1 - устройство 1 - параметр 10 - значение 123
object_id 2 - устройство 2 - параметр 10 - значение 123
object_id 15 - устройство 15 - параметр 10 - значение 123.

Помогите пожалуйста исправить запрос, чтобы выводились все устройства, а не склеенный список.

Заранее благодарен!
Профиль Ответить
02.08.2015 20:00:34 помогите исправить запрос Сообщение #2
Maverick84

Maverick84

Новичок

Новичок

Дата регистрации:
01.08.2015 13:52:37

Сообщений: 2

Запрос исправлен, тема больше не актуально. Спасибо!
Профиль Ответить
06.08.2015 13:02:12 помогите исправить запрос Сообщение #3
gemiks

gemiks

Мастер

Мастер

Дата регистрации:
17.03.2013 18:03:11

Сообщений: 177

Пишите желательно как вы исправили, может другие люди тоже будут искать решение такой же проблемы
Профиль Ответить