|
|
|
| 2 таблицы, жанры и книги.
У каждого жанра есть ID, который вписан в таблице у книги.
Следовательно что бы выбрать книгу по жанру, мы выполняем простейший SQL запрос:
SELECT name FROM books WHERE category=13;
Но как быть, если у одной книги - два жанра?
Если рассуждать примитивно, то первое, что приходит в голову - перечислить жанры через запятую в базе. Но тогда мы не сможем сделать корректный SQL запрос с выборкой нужных книг по определенному жанру (может быть Like?) | |
|
|
|
|
|
|
|
для: Бамси
(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 | |
|
|
|
|
|
|
|
для: Бамси
(09.03.2010 в 20:01)
| | Еще одна таблица связи "многие ко миногим". | |
|
|
|