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

Форум MySQL

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

 

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

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

тема: Двухтабличный запрос
 
 автор: CrazyAngel   (15.08.2006 в 04:27)   письмо автору
 
 

есть таблица

id|category_id

есть еще одна талица

id|name|order



мне дан один id, мне нужно выяснять какие товары еще относятся с этомуже category_id и выбрать их в одном запросе, подскажите как =)))

По возможности подробнее =)

   
 
 автор: Lelik   (15.08.2006 в 05:39)   письмо автору
 
   для: CrazyAngel   (15.08.2006 в 04:27)
 

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

SELECT необходимые_поля_через_запятую FROM items, categories WHERE cadegories.id_cat = items.id_cat


желательно каким-то образом передавать значения категории товаров в запрос

SELECT * FROM items WHERE id_cat = $_GET['id_cat']

   
 
 автор: CrazyAngel   (20.08.2006 в 04:49)   письмо автору
 
   для: Lelik   (15.08.2006 в 05:39)
 

ХМ.... чего то я не понял =)
Помоему это не то =)

   
 
 автор: Lelik   (20.08.2006 в 05:09)   письмо автору
 
   для: CrazyAngel   (15.08.2006 в 04:27)
 


SELECT id, category_id FROM table1, table2 WHERE table1.id=table2.category_id

так можно

   
 
 автор: CrazyAngel   (20.08.2006 в 05:22)   письмо автору
 
   для: Lelik   (20.08.2006 в 05:09)
 

Теперь понятно, а навернека неправильно задал вопрос =)))))
мне нужно выбрать
name и order
всех id тойже категории =)))))))))

   
 
 автор: Lelik   (20.08.2006 в 05:23)   письмо автору
 
   для: CrazyAngel   (20.08.2006 в 05:22)
 

SELECT id, category_id, name, order FROM table1, table2 WHERE table1.id=table2.category_id

   
 
 автор: CrazyAngel   (20.08.2006 в 05:45)   письмо автору
 
   для: Lelik   (20.08.2006 в 05:23)
 

Вообще не работает =(
P.S. order заменил на orderrr

   
 
 автор: Lelik   (20.08.2006 в 05:47)   письмо автору
 
   для: CrazyAngel   (20.08.2006 в 05:45)
 

пардон

SELECT id, category_id, table1.name, table1.order FROM table1, table2 WHERE table1.id=table2.category_id

   
 
 автор: CrazyAngel   (20.08.2006 в 06:00)   письмо автору
 
   для: Lelik   (20.08.2006 в 05:47)
 

Хех

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order FROM table1 , table2 WHERE table1 . id = table2 . category_id
LIMIT ' at line 1

   
 
 автор: CrazyAngel   (20.08.2006 в 06:32)   письмо автору
 
   для: CrazyAngel   (15.08.2006 в 04:27)
 

Попытаюсь объяснить подробнее, что мне нужно =)
Вот так это делается в три запроса,

сначала выесняется category_id,
select category_id from table1 where id=$id;

потом выяняются все id этой категории
select id from table1where category_id=$category_id;

потом из ответа формируем строку из доступных id
$id = 1,3,5,6 // примерно ват такая должна получиться

потом выбираем все нам нужные товары
select * from table2 where id=$id


думаю теперь более понятно что я хочу =)

   
 
 автор: куч1963   (20.08.2006 в 07:47)   письмо автору
 
   для: CrazyAngel   (20.08.2006 в 06:32)
 

SELECT (название таблицы1).(название нужных столбов) AS (переименовка столба),
(название таблицы2).(название нужных столбов) AS (переименовка столба)
FROM (название таблицы1) INNER JOIN (название таблицы2)
ON FK(таблицы2)=PK( таблицы1)
WHERE PK( таблицы1)=(условие) AND hide='show' -(условие скрыт товар или нет)
GROUP BY таблица2.(название товара)
ORDER BY PK( таблицы1)

FK- внешний ключ
PK - первичный ключ

Далее вывод в цикле
$name = "";
while($tovar = mysql_fetch_array($magazin))
{
if($name != $menu['название столба категории'])
{
echo "<p >".$menu['название столба категории']."</p>";
$name = $menu['название столба категории'];
}


echo "<p >".$menu['название столба товара']."</p>";
}

   
Rambler's Top100
вверх

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