powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нудна помощь в корректировке запроса
7 сообщений из 7, страница 1 из 1
Нудна помощь в корректировке запроса
    #40033705
alex228
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток, в sql новичок, застрял на запросе. Перепробовал кучу способов, но не работает. Буду благодарен за любую помощь.
Есть две таблицы:
Application:
-id
-type (1,2)
-room_number

Room:
-id
-number
-price

Поля для объеденения Application.room_number = Room.number.

Нужно вывести все Room, которых нет в application и те которые есть в application с type = 1.
Вот что я смог написать, но здесь выводятся только те которых нет в applicaton. А куда прикрутить where application.type = 1 не знаю.

select room.id, room.number, room.price FROM application right JOIN room
ON room.number = application.room_number where application.room_number is null;
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033707
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложите нормальные CREATE TABLE, а не словесное описание структур. Выложите пример исходных данных в виде INSERT INTO и требуемый на таких данных результат (данные должны "накрывать" все возможные вариации).
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033713
alex228
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033715
alex228
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
CREATE TABLE `test2`.`application` (
`id` INT NOT NULL,
`type` ENUM('1', '2') NULL,
`room_number` INT NOT NULL,
PRIMARY KEY (`id`));

CREATE TABLE `test2`.`room` (
`id` INT NOT NULL,
`number` INT NOT NULL,
`price` INT NOT NULL,
PRIMARY KEY (`id`));

insert into application (id,type,room_number) values (1,1,12);
insert into application (id,type,room_number) values (1,2,13);


insert into room (id,number,price) values (1,11,100);
insert into room (id,number,price) values (2,12,100);
insert into room (id,number,price) values (3,13,100);
insert into room (id,number,price) values (4,14,100);

Нужно вывести room с number = 11,12,14
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033718
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
SELECT room.`number`
FROM room
WHERE NOT EXISTS ( SELECT NULL
                   FROM application
                   WHERE application.room_number = room.`number`
                     AND application.type != 1 );


fiddle

PS. Проверяйте скрипты перед публикацией на корректность/работоспособность.
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033720
alex228
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
СПАСИБО ВАМ ОГРОМНОЕ!!!!!!!!!
...
Рейтинг: 0 / 0
Нудна помощь в корректировке запроса
    #40033761
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex228,
ну или классика жанра:
Код: sql
1.
2.
3.
4.
5.
SELECT room.number
FROM room
LEFT JOIN application ON application.room_number = room.number
WHERE application.type = 1
   OR application.id IS NULL;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нудна помощь в корректировке запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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