WapStyle » 2013.03.06 11:28

Имеем 3 sql запроса
SELECT * FROM user_ban WHERE user_id = ? LIMIT 1
SELECT * FROM user WHERE id = ? LIMIT 1
SELECT * FROM user_ank WHERE user_id = ? LIMIT 1
Как из них сделать 1 на 3 таблицы
Немогу сообразить как это всё в один запрос запихнуть =(

Gemorroj » 2013.03.06 11:51

Код:

1
2
3
4
SELECT * FROM user_ank
LEFT JOIN user_ban ON user_ban.user_id = user_ank.user_id
INNER JOIN user ON user.id = user_ank.user_id
WHERE user_ank.user_id = ?
WapStyle » 2013.03.06 14:03

Код:

1
2
3
4
SELECT * FROM user_ank
LEFT JOIN user_ban ON user_ban.user_id = user_ank.user_id
INNER JOIN user ON user.id = user_ank.user_id
WHERE user_ank.user_id = ?

Возврат false

Код:

1
2
3
SELECT * FROM user_ank
LEFT JOIN user_ban ON user_ban.user_id = user_ank.user_id
WHERE user_ank.user_id = ?

Возврат true

что-то не так с INNER JOIN user ON user.id = user_ank.user_id

WapStyle » 2013.03.06 14:43

Поменял немного структуру базы и переделал код тогда только заработало

Код:

1
2
3
4
SELECT * FROM user
LEFT JOIN user_ank ON user_ank.ank_id = user.id
LEFT JOIN user_ban ON user_ban.ban_id = user.id
WHERE user.id = $get_id LIMIT 1

Спс. За подсказку

Gemorroj » 2013.03.06 16:16

Да, там нужно было не INNER JOIN user ON user.id = user_ank.user_id а INNER JOIN user ON user.id = user_ban.user_id

WapStyle » 2013.03.06 16:56

И так норм =)