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

Форум MySQL

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

 

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

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

тема: Выбор всех статей для родителя
 
 автор: serjinio   (02.07.2008 в 16:40)   письмо автору
 
 

Помогите сделать выборку всех статей для родителя
есть две таблицы
САТ

id_cat            sub_cat       name
1                    0          мясо
2                    1            копченое мясо
3                    1            соленое  мясо
4                    1            тухлое мясо
5                    0          рыба
6                    0          грибы


и таблица статей
DATA

id           cat                name
1             2        статья 1 про копченое мясо
2             2        статья 2 про копченое мясо
3             2        статья 3 про копченое мясо
4             3          статья 1 про соленое  мясо
5             3          статья 2 про соленое  мясо
6             4             статья 1 про тухлое мясо


передаю гетом id_cat и sub_cat из САТ

как выбрать все статьи из DATA относящиеся к мясу ??? ...
Заранее спасибо за помощь

   
 
 автор: GeorgeIV   (02.07.2008 в 17:03)   письмо автору
 
   для: serjinio   (02.07.2008 в 16:40)
 

таблица CAT у вас не содержит ссылки на родителя, это не совсем корректно. или у вас sub_cat может относиться только к мясу, и ни к чему больше? т.е.тухлой рыбы не бывает?

   
 
 автор: Эй   (02.07.2008 в 17:11)   письмо автору
 
   для: GeorgeIV   (02.07.2008 в 17:03)
 

sub_cat вроде бы и есть ссылка на родителя, просто название такое.

   
 
 автор: GeorgeIV   (02.07.2008 в 17:42)   письмо автору
 
   для: Эй   (02.07.2008 в 17:11)
 

понял, не сразу врубился, действительно это ID родителя..

   
 
 автор: serjinio   (02.07.2008 в 18:44)   письмо автору
 
   для: GeorgeIV   (02.07.2008 в 17:42)
 

да ,sub_cat это ссылка на родителя ..сейчас прийду домой попробую ..спасибо за помощь
sub_cat это типа parent_id

   
 
 автор: Trianon   (02.07.2008 в 18:55)   письмо автору
 
   для: serjinio   (02.07.2008 в 18:44)
 

тогда это не sub_cat, а super_cat.
Всё ж спутать подкатегрию и надкатегорию, это примерно как спутать маму и дочку.

   
 
 автор: serjinio   (02.07.2008 в 20:05)   письмо автору
 
   для: Trianon   (02.07.2008 в 18:55)
 

Ну если мама очень молода...не грех и спутать:)

   
 
 автор: Эй   (02.07.2008 в 17:11)   письмо автору
 
   для: serjinio   (02.07.2008 в 16:40)
 

SELECT * FROM `DATA` WHERE `cat` IN (SELECT `id_cat` FROM `САТ` WHERE `sub_cat`=1)


или

SELECT * FROM `DATA` LEFT JOIN `САТ` ON `DATA`.`cat`=`САТ`.`id_cat` WHERE `САТ`.`sub_cat`=1

   
 
 автор: serjinio   (02.07.2008 в 23:54)   письмо автору
 
   для: Эй   (02.07.2008 в 17:11)
 

SELECT * FROM `DATA` LEFT JOIN `САТ` ON `DATA`.`cat`=`САТ`.`id_cat` WHERE `САТ`.`sub_cat`=1

отлично заработало,а
SELECT * FROM `DATA` WHERE `cat` IN (SELECT `id_cat` FROM `САТ` WHERE `sub_cat`=1)
выдает ошибку
И можно еще нескромный вопрос, что означает данный синтаксис
ON `DATA`.`cat`=`САТ`.`id_cat` 
в частности точка....для чего это надо...хочу разобраться ...заранее спасибо ...

   
 
 автор: Эй   (03.07.2008 в 00:19)   письмо автору
 
   для: serjinio   (02.07.2008 в 23:54)
 

> выдает ошибку

Какую ошибку?


Точка используется для обращения к полю конкретной таблицы:

`имя таблицы`.`имя поля`

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

   
 
 автор: serjinio   (03.07.2008 в 17:03)   письмо автору
 
   для: Эй   (03.07.2008 в 00:19)
 

Была пауза на работе...не успел поблагодарить ...Спасибо за помощь

   
Rambler's Top100
вверх

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