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

Форум MySQL

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

 

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

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

тема: помогите пожалуста с многотабличным запросом
 
 автор: m@rchello   (12.09.2008 в 11:22)   письмо автору
 
 

Добрый день

есть табличка каталога

допустим table со структурой

id | marka | model | color | и тд.


поля marka | model | color - это int значение, идешники справочных таблиц spravka_marka, spravka_model, spravka_color

структура всех справочных таблиц

id | name


вопрос

как извлечь данные из table c уже подставленными значениями из справочной таблицы?

  Ответить  
 
 автор: ols   (12.09.2008 в 12:52)   письмо автору
 
   для: m@rchello   (12.09.2008 в 11:22)
 


<?

//запрос на выборку данных из справочной таблицы
$sql mysql_query("SELECT * FROM table WHERE id =".$spravka['id']." AND name = ".$spravka['name']);
if(
$sql)
{
while(
$res mysql_fetch_array($sql))
{
//выводим данные из table
echo $res['id']."</br>";
echo 
$res['marka']."</br>";
echo 
$res['model']."</br>";
echo 
$res['color']."</br>";
}

}


?>

  Ответить  
 
 автор: m@rchello   (12.09.2008 в 13:01)   письмо автору
 
   для: ols   (12.09.2008 в 12:52)
 

Так. Вы не правельно поняли меня.

это понятно что можно сначала сделать запрос из таблицы каталога, потом обработать его php, и выдёргивать потом(отдельными запросами) данные из справочных таблиц... но я спрашивал как это сделать только средствами mySQL

что мне нужно

мне нужно одним запросом выдернуть все записи из таблицы каталога и на лету заменить индексы справочных таблиц на их значение.

  Ответить  
 
 автор: ols   (12.09.2008 в 13:20)   письмо автору
 
   для: m@rchello   (12.09.2008 в 13:01)
 

>мне нужно одним запросом выдернуть все записи из таблицы каталога и на лету заменить индексы справочных таблиц на их значение.

Нельзя одним запросом выбрать и обновить данные. Или опять неправильно понял?

  Ответить  
 
 автор: Root   (12.09.2008 в 13:17)   письмо автору
 
   для: m@rchello   (12.09.2008 в 11:22)
 


select tbl_name.*, marka.name, model.name, color.name 
   from tbl_name, marka, model, color 
   where tbl_name.marka = marka.id
   AND tbl_name.model = model.id
   AND tbl_name.color = color.id;

  Ответить  
 
 автор: m@rchello   (12.09.2008 в 13:34)   письмо автору
 
   для: Root   (12.09.2008 в 13:17)
 

то что нужно спасибо.

  Ответить  
 
 автор: m@rchello   (13.09.2008 в 21:02)   письмо автору
 
   для: Root   (12.09.2008 в 13:17)
 

Возникла трудность ....

если я добавляю определённое условие .... hidden например (он может принимать 2 значения "0" и "1") .... то соответственно запрос выглядит так

select tbl_name.*, marka.name AS tab, model.name AS tab2, color.name AS tab3  
   from tbl_name, marka, model, color  
   where tbl_name.marka = marka.id 
   AND tbl_name.model = model.id 
   AND tbl_name.color = color.id AND tbl_name.hidden=0;


то запрос не выполняется .... но и ошибки не выдаёт ... тоесть получается что он прорабатывается нормально .... и просто я что то не то пишу ... подскажите как разобраться с этим =(

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

  Ответить  
 
 автор: Trianon   (13.09.2008 в 21:06)   письмо автору
 
   для: m@rchello   (13.09.2008 в 21:02)
 

тип поля hidden - целый?

  Ответить  
 
 автор: m@rchello   (13.09.2008 в 21:17)   письмо автору
 
   для: Trianon   (13.09.2008 в 21:06)
 

enum('0', '1')

  Ответить  
 
 автор: m@rchello   (13.09.2008 в 21:20)   письмо автору
 
   для: Trianon   (13.09.2008 в 21:06)
 

Всё.... разобрался .... спасибо за уделённое внимание.

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

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