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

Форум MySQL

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

 

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

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

тема: Правильное построение БД.
 
 автор: Бамси   (09.03.2010 в 20:01)   письмо автору
 
 

2 таблицы, жанры и книги.
У каждого жанра есть ID, который вписан в таблице у книги.
Следовательно что бы выбрать книгу по жанру, мы выполняем простейший SQL запрос:
SELECT name FROM books WHERE category=13;

Но как быть, если у одной книги - два жанра?

Если рассуждать примитивно, то первое, что приходит в голову - перечислить жанры через запятую в базе. Но тогда мы не сможем сделать корректный SQL запрос с выборкой нужных книг по определенному жанру (может быть Like?)

  Ответить  
 
 автор: heed   (09.03.2010 в 20:32)   письмо автору
 
   для: Бамси   (09.03.2010 в 20:01)
 

FIND_IN_SET(str,strlist)

Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings. A string list is a string composed of substrings separated by “,” characters. If the first argument is a constant string and the second is a column of type SET, the FIND_IN_SET() function is optimized to use bit arithmetic. Returns 0 if str is not in strlist or if strlist is the empty string. Returns NULL if either argument is NULL. This function does not work properly if the first argument contains a comma (“,”) character.

mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2

  Ответить  
 
 автор: Trianon   (09.03.2010 в 20:46)   письмо автору
 
   для: Бамси   (09.03.2010 в 20:01)
 

Еще одна таблица связи "многие ко миногим".

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

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