SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.12.2008 09:46:25

Еж
Участник
Зарегистрирован: 09.12.2008
Сообщений: 2

Наверное просто, но...

Пришлось по работе начать разбираться с MySQL. Т.е. я - вполне новичок.
Подскажите, плиз, можно ли это сделать одним запросом?

Есть таблица PROC

id1 , param , id2 (например: 1 , 'оплатил', 2)

Есть вторая таблица USERS

id , name (например 1 , "Вася" ; 2 , "Петя")

Т.е. запись в первой таблице 1, "оплатил", 2 означает "Вася оплатил Пете".  Вот это я одним запросом сделать и не могу. sad

Неактивен

 

#2 09.12.2008 12:00:24

Satan
Участник
Зарегистрирован: 10.12.2007
Сообщений: 13

Re: Наверное просто, но...

А что конкретно вы хотите сделать одним запросом?

Неактивен

 

#3 09.12.2008 14:54:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Наверное просто, но...

Полагаю, что хочется что-то типа

SELECT u1.name, p.param, u2.name
FROM PROC p
JOIN USERS u1 ON u1.id = p.id1
JOIN USERS u2 ON u2.id = p.id2

Неактивен

 

#4 29.12.2008 18:03:01

Еж
Участник
Зарегистрирован: 09.12.2008
Сообщений: 2

Re: Наверное просто, но...

paulus написал:

Полагаю, что хочется что-то типа

SELECT u1.name, p.param, u2.name
FROM PROC p
JOIN USERS u1 ON u1.id = p.id1
JOIN USERS u2 ON u2.id = p.id2

Я сейчас не могу проверить, к сожалению, но очень, очень похоже, что это именно оно, а догадаться я не мог вот до этого: JOIN USERS u1 и JOIN USERS u2. Спасибо! Попробую при первой же возможности!

Отредактированно Еж (29.12.2008 18:03:39)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson