|
|
|
| Здравствуйте! Подскажите пожалуйста у вас в книге есть вот такой запрос:
$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";
|
И другой вопрос: а как лучше сделать? просто есть инфа об объекте, одна её часть находится в одной таблице, другая в другой. И превая таблица содержит поля которые всегда заполняются, а вторая таблица состоит из полей которые заполняются иногда. Может лучше сделать одну общую таблицу? Но тогда некоторые поля будут очень часто пустыми(ну то есть с нулем). Как лучше? Две или одна общая? Чем лучше, чем хуже?
Заранее благодарен. | |
|
|
|
|
|
|
|
для: 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";
?>
|
Многотабличные запросы - вещь достаточно удобная, но у них сильно падает скорость при разрастании таблиц и увеличении числа таблиц в одном запросе. Одна таблица будет всегда работать очень быстро, даже не смотря на то, что будет занимать больше места. | |
|
|
|