powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT FROM две таблицы по значению столбца третьей
5 сообщений из 5, страница 1 из 1
SELECT FROM две таблицы по значению столбца третьей
    #33096728
N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
N
Гость
Здравствуйте.

Имеется таблица:

F
A1 A2 A3
T X 1
M Y 2
M Z 1
K W 2
S W 2


Нужно сделать запрос на все поля таблиц H и E.
Причем, если в строке таблицы A3 = 1
нужна строка из H,
а если A3 = 2, то нужна строка из E.

(количество столбцов в результате пусть будет 2
(C1 и C3 или B1 и B3)).

H
C3 C2 C1
dfg drt T
sew wer K

E
B3 B2 B1
rtg ert W
wer was Z
se qewr Y
...
Рейтинг: 0 / 0
SELECT FROM две таблицы по значению столбца третьей
    #33096884
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй сделать join всего, а потом case по столбцу A3
...
Рейтинг: 0 / 0
SELECT FROM две таблицы по значению столбца третьей
    #33097283
N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
N
Гость
Попробобал с CASE, но это оказался INTERBASE.
А по нему форума не заметил,
(щас заметил).

Реализовалось вот как:

SELECT CAST('G' AS VarChar(10)) as TYPEOF, CAST(A.B3 AS VarChar(80)) as VAL
FROM H A, F B
WHERE B.A3=2
AND B.A2=A.C1
UNION ALL
SELECT CAST('L' AS VarChar(10)) as TYPEOF, CAST(A.C3 AS VarChar(80)) as VAL
FROM E A, F B
WHERE B.A3=1
AND B.A1=A.B1
...
Рейтинг: 0 / 0
SELECT FROM две таблицы по значению столбца третьей
    #33097441
N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
N
Гость
...
Рейтинг: 0 / 0
SELECT FROM две таблицы по значению столбца третьей
    #33110496
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут мимоходом, и не знаю: есть ли в MySQL case ... when ... then... else ... end? В другой базе я мог бы сделать так (не знаю эфективнее или нет чем UNION):
Код: plaintext
1.
2.
3.
4.
select F.A3, case F.A3 when  1  then H.C3 when  2  then E.B3 end as VAL
from F
left join H on F.A1=H.C1
left join E on F.A2=E.B1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / SELECT FROM две таблицы по значению столбца третьей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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