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

Форум MySQL

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

 

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

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

тема: Запрос к БД(из книги Практика создания вэб сайтов)
 
 автор: Mefisto84   (02.05.2006 в 20:11)   письмо автору
 
 

Здравствуйте! Подскажите пожалуйста у вас в книге есть вот такой запрос:

$query = "SELECT * FROM product
                WHERE id_catalog=".$_GET['id_parent']." 
                ORDER BY pos";

Но дело в том что мне нужно доставать данные из двух таблиц, т.е. в двух таблицах хранится инфа об одном объекте, в одной таблице несколько полей, и в другой таблице несколько полей. Таблицы не связанные так как база MyISAM. есть поле в котором хранится одинаковая информация, то есть поле ID. Как мне сделать вытащить данные из двух таблиц? Как должен выглядеть запрос? Вот запрос, он конечно делает выборку, но перебирает все возможные подстановки. Как сделать что бы он именно смотрел и группировал записи по ID?

$query = "SELECT * FROM product, addition 
                WHERE id_catalog=".$_GET['id_parent']." 
                ORDER BY pos";

И другой вопрос: а как лучше сделать? просто есть инфа об объекте, одна её часть находится в одной таблице, другая в другой. И превая таблица содержит поля которые всегда заполняются, а вторая таблица состоит из полей которые заполняются иногда. Может лучше сделать одну общую таблицу? Но тогда некоторые поля будут очень часто пустыми(ну то есть с нулем). Как лучше? Две или одна общая? Чем лучше, чем хуже?
Заранее благодарен.

   
 
 автор: cheops   (02.05.2006 в 22:16)   письмо автору
 
   для: Mefisto84   (02.05.2006 в 20:11)
 

Для этого следует воспользоваться многотабличным запросом вида
<?php
$query 
"SELECT product.*, addition.* FROM product, addition 
                WHERE product.id = addition.id AND
                                product.id_catalog="
.$_GET['id_parent'].
                ORDER BY product.pos"
;
?>

Многотабличные запросы - вещь достаточно удобная, но у них сильно падает скорость при разрастании таблиц и увеличении числа таблиц в одном запросе. Одна таблица будет всегда работать очень быстро, даже не смотря на то, что будет занимать больше места.

   
Rambler's Top100
вверх

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