Общие > Базы данных

Как зделать?

(1/4) > >>

-DieseLok-:
Доброе время суток!


Ситуация:

Есть база, со структурой:

id - Раздел
sud_id - Буква
singer - Имя исполнителя
songs - Название композиции
links - ссылка

Идёт такой запрос:

"SELECT * FROM catalog WHERE sub_id LIKE \'А%\'"; - Тоесть брать записи начинающиеся на букву А.

Суть проблемы:

К примеру, у исполнителя "Агутин" есть несколько композицый, "Граница","Чернокожий парень", получаеться что и базе будет несколько строк с одинаковым полем singer, и при попытке вывести на страницу всех исполнителей на букву А, он выводит исполнителя "Агутин", то количество раз которое у него композицый/строк в базе данных.

Задачя:

Как зделать так чтобы если у исполнителя несколько композицый его имя выводилось всё-ровно 1 раз?


Зарание спасибо!

Макс:
1. читай что-нибудь по теории БД. У тебя она не нормализована. Обычно делают отдельно таблицу испольнителей и отдельно таблицу композиций.

2. БД ничего не выводит, она лишь возвращает запрошенные данные (на SELECT-запрос). Поэтому вопрос
--- Цитировать ----DieseLok-:
Как зделать так чтобы если у исполнителя несколько композицый его имя выводилось всё-ровно 1 раз?
--- Конец цитаты ---
имеет отношение к твоему языку программирования (пхп насколько я понимаю).

-DieseLok-:
Язык ПХП, я вот тут тоже сидел, сидел и надумал, что может так и зделать... я думал мож есть какаято фичя, я плохо разбираюсь думал мож "group by" или чёто типа этого...

Насколько я знаю в мускуле связей между таблицами нету... посему придёться в тупую сравнивать исполнителя из одной таблицы с композицией из другой :(

это типа так?:

Запрос

ispolnitel.php?id=А


 





Получаем к примеру запрос:
kompoziciya.php?id=Агутин




.



типа так?

-DieseLok-:
Впринцыпе я зделал и всё работает... всмысле с помощью двух таблиц, но всётаки... если кто знает может всётаки есть такая тема опишыте пожалуйста!!!


Спасибо!

commander:
create table ispolnitel
(
ispolnitel_id int not null auto_increment,
name varchar(100),
foto varchar(100),
biografija text,
primary key (ispolnitel_id)
);

create table songs
(
songs_id int not null auto_increment,
ispolnitel_id int,
song_name varchar(255),
links varchar(255),
primary key (songs_id)
);


SELECT songs.song_name, songs.links FROM songs, ispolnitel  WHERE songs.ispolnitel_id=ispolnitel.ispolnitel_id AND ispolnitel.name LIKE \'A%\'

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии