Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оченьмноготабличный запрос
 
 автор: tribe   (16.02.2009 в 21:23)   письмо автору
 
 

Есть 4 таблицы и две известных переменных $pass1 и $pass2
tbl1
id, iduser, pass1

tbl2
id, iduser, idip, pass2

tbl3
id, iduser, login, pass3

tbl4
id, idip, ip

tbl1.iduser=tbl2.iduser=tbl3.iduser
tbl2.idip=tbl4.idip

Нужно получить:

SELECT tbl3.login, tbl3.pass3 
FROM tbl3 
WHERE tbl3.iduser=(
SELECT tbl2.iduser
FROM tbl2 
WHERE tbl2.pass2='".$pass2."' AND tbl2.iduser=(
SELECT tbl1.iduser
FROM tbl1 
WHERE tbl1.pass1='".$pass1."')) 

и еще нужно получить

SELECT tbl4.ip
FROM tbl4
WHERE tbl4.idip=(
SELECT tbl2.idip
FROM tbl2 
WHERE tbl2.pass2='".$pass2."' AND tbl2.iduser=(
SELECT tbl1.iduser
FROM tbl1 
WHERE tbl1.pass1='".$pass1."'))


Возможно ли все это спросить одним запросом и как лучше спрашивать?

Помогите, плз

  Ответить  
 
 автор: а-я   (16.02.2009 в 22:33)   письмо автору
 
   для: tribe   (16.02.2009 в 21:23)
 

Просто нереальная каша.

Попробуй так:

SELECT 
 c.`login`, 
 c.`pass3`,
 d.`ip`
FROM `tbl1` a, `tbl2` b
 JOIN `tbl3` c ON c.`iduser` = a.`iduser`
 JOIN `tbl4` d ON d.`idip` = b.`idip`
WHERE 
 a.`pass1` = '".$pass1."
 AND
 b.`pass2` = '".$pass2."'
 AND
 a.`iduser` = b.`iduser`

  Ответить  
 
 автор: tribe   (16.02.2009 в 23:00)   письмо автору
 
   для: а-я   (16.02.2009 в 22:33)
 

>Просто нереальная каша.
Спасибо! Заставил меня подумать :)) Пошел переписывать структуру

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования