SA-MP Forums Archive
SQL запрос - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: SQL запрос (/showthread.php?tid=593489)



SQL запрос - Splav - 06.11.2015

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

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

log
id | uid | lid | time

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

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

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

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


Re: SQL запрос - SoNikMells - 06.11.2015

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


Re: SQL запрос - Splav - 06.11.2015

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


Re: SQL запрос - Stepashka - 06.11.2015

Код:
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



Re: SQL запрос - Splav - 06.11.2015

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