Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Использование псевдонимов "подтаблиц" / 4 сообщений из 4, страница 1 из 1
10.07.2018, 10:17
    #39671915
NtipleX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование псевдонимов "подтаблиц"
Здравствуйте! Как можно использовать псевдоним из подзапроса (таблицы) в следуйщем предложении:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 SELECT model FROM
(--таблица и модель и макс. цена
SELECT model,price FROM PC WHERE price IN (SELECT MAX(price) AS pr FROM PC)
UNION
SELECT model,price FROM Printer WHERE price IN (SELECT MAX(price) FROM Printer)
UNION
SELECT model,price FROM Laptop WHERE price IN (SELECT MAX(price) FROM Laptop)
) AS maxis
WHERE price=(SELECT MAX(price) FROM 
(--та же самая таблица только мне нужно отсюда макс цену из цен.
SELECT model,price FROM PC WHERE price IN (SELECT MAX(price) AS pr FROM PC)
UNION
SELECT model,price FROM Printer WHERE price IN (SELECT MAX(price) FROM Printer)
UNION
SELECT model,price FROM Laptop WHERE price IN (SELECT MAX(price) FROM Laptop)
) AS Maxis
)--конец подзапроса в пункте where




Буду благодарен за ответ.
...
Рейтинг: 0 / 0
10.07.2018, 10:46
    #39671934
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование псевдонимов "подтаблиц"
NtipleX,

Что вам нужно найти? Строчку с максимальной ценой из трёх разных таблиц?
Код: sql
1.
2.
3.
4.
5.
6.
(SELECT model,price FROM PC order by price desc limit 1)
UNION ALL
(SELECT model,price FROM Printer order by price desc limit 1)
UNION ALL
(SELECT model,price FROM Laptop order by price desc limit 1)
order by price desc limit 1



А прямой ответ на заданный вопрос - CTE
...
Рейтинг: 0 / 0
10.07.2018, 11:20
    #39671969
NtipleX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование псевдонимов "подтаблиц"
Melkij,

Пока я еще не прочитал док по вашей сылке: Можно ли как-то сократить выражение в пункте WHERE так как я использую аналогичную таблицу с подзапроса в пункте SELECT
Я хотел написать чтото вроде :
...
WHERE price=(SELECT MAX(price) FROM maxis )

Где maxis сформированная таблица (временная чтото такое) состот из полей model,price
...
Рейтинг: 0 / 0
10.07.2018, 11:35
    #39671974
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование псевдонимов "подтаблиц"
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Использование псевдонимов "подтаблиц" / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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