SQL запрос
#1

Здравствуйте. Суть такая:

Есть 2 таблицы
accounts:
ID | Login

log
id | uid | lid | time

Вот мне надо запрос, чтобы вернул:

log.time | accounts.Login (где accoints.ID = uid) | accounts.Login (где accoints.ID = lid)

То есть из одной таблицы один и тот же столбец дважды по разным условиям надо

Что то не могу придумать как это сделать одним запросом
Заранее спасибо
Reply
#2

PHP код:
SELECT log.timeaccounts.Login
FROM accounts LEFT JOIN log ON accounts
.ID log.uid AND accounts.ID log.lid
WHERE 
// ID = ? // id из accounts 
в условии AND = &&
можно заменить на OR = ||

Наверное не это требуется?
Но вытянуть подобное можно лишь за два раза или запросом в запросе(долго).

а к чему привязан log.time ?

Если установить OR, то можно получить несколько строк при совпадении uid или lid
Reply
#3

log.time - это NOW() при инсерте. Время записи
Reply
#4

Код:
SELECT
	`time`,
	(SELECT accounts.Login FROM accounts WHERE accounts.ID = log.uid LIMIT 1) as `uid`,
	(SELECT accounts.Login FROM accounts WHERE accounts.ID = log.lid LIMIT 1) as `lid`
FROM log
Reply
#5

Спасибо большое
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)