Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор нескольких полей в подзапросе / 7 сообщений из 7, страница 1 из 1
31.10.2017, 20:39
    #39545593
antonenkoab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
Добрый день.
Пытаюсь выбрать несколько полей в подзапросе, но не знаю как же правильно сформировать запрос.
Вот, например, пробую так:
Код: sql
1.
2.
3.
SELECT iid, img, (SELECT iid, img FROM table WHERE l = 1) AS (iid2, img2)
FROM table
WHERE l = 2


Но это не работает потому что - You have an error in your SQL syntax.
Я думаю, что с этого примера ясно, что мне нужно.
Подскажите, пожалуйста, как правильно сформировать запрос к MySQL.
...
Рейтинг: 0 / 0
31.10.2017, 20:53
    #39545604
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
Так то, алиасы индивидуально назначаются для каждого поля или таблицы.
Что Вам нужно - не понятно. Думается, при таких вариантах либо UNION , либо JOIN тут ближе к месту в зависимости от задачи.
...
Рейтинг: 0 / 0
31.10.2017, 21:15
    #39545610
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
Код: sql
1.
2.
3.
SELECT t1.iid, t1.img, t2.iid iid2, t2.img img2
FROM table t1, table t2
WHERE t1.l =1 AND t2. = 2
...
Рейтинг: 0 / 0
31.10.2017, 21:24
    #39545618
antonenkoab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
vkle,
Прошу прощения, чуточку ошибся в первом примере (который синтаксически неверный). Вот этот правильней
Код: sql
1.
2.
3.
SELECT iid, img, (SELECT iid, img FROM table WHERE l = 2) AS (iid2, img2)
FROM table
WHERE l = 1


Нужно извлечь данные только из одной таблицы - table. Она имеет только 2 поля - iid, img
Требуемые данные извлекаемые одним запросом содержатся в разных строках, но нужно их извлечь как бы одной строкой, поэтому я и пытаюсь создать подзапросы, кстати, несколькими подзапросами задача решается, например так
Код: sql
1.
2.
3.
SELECT iid, img, (SELECT iid FROM table WHERE l = 2) iid2, (SELECT img FROM table WHERE l = 2) img2
FROM table
WHERE l = 1


Но вот бы одним подзапросом это суметь сделать
В результате мне нужно получить данные из полей одной строкой
iid, img, iid2, img2
Если UNION либо JOIN то, пожалуйста, можно Ваш пример?
...
Рейтинг: 0 / 0
31.10.2017, 21:30
    #39545621
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
antonenkoabмне нужно получить данные из полей одной строкой
iid, img, iid2, img2Я ж написал запрос. Что с ним не так?
...
Рейтинг: 0 / 0
31.10.2017, 23:14
    #39545648
antonenkoab
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
Akina,
Это то что нужно. Спасибо!
Получаестя подзапросы здесь и не нужны. Я почемуто думал, что к одной и той же таблице в запросе нельзя делать более одного алиаса. Спасибо!
...
Рейтинг: 0 / 0
01.11.2017, 08:01
    #39545720
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор нескольких полей в подзапросе
antonenkoab , единственное - на поле отбора (table.l) должно быть индексом наложено требование уникальности, а то результат получится чудесатый.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбор нескольких полей в подзапросе / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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