Подскажите, пожалуйста, саму логику работы. Есть в базе (SQLite) , ну скажем, с списком песен [sql]album TEXT artist TEXT songname TEXT downlink TEXT[/sql] Ну и дальше. И такая таблица с комментариями [sql]user TEXT data TEXT ip TEXT coment TEXT [/sql] Так вот как они обьединяются? Как, например опредлить, к какой песни какие комментарии оставили? Понятия не имею как это решается.
Например так Сделай в первой таблице поле id. И во второй for_id. Далее объединяем две таблицы, примерно так [sql] SELECT a.*, b.* FROM `spiski_pesen` AS a, `comments` AS b WHERE a.id = b.for_id[/sql]
И такой вопрос. Как сделать более профессионально. Есть две таблицы [sql]sqlite_exec ($id, "CREATE TABLE albums (id integer primarykey, type TEXT, artist TEXT, album TEXT, list TEXT, link TEXT, size TEXT, user TEXT, ip TEXT, data TEXT, deskr TEXT, reserv1 TEXT, reserv2 TEXT)"); sqlite_exec ($id, "CREATE TABLE songs (id integer primarykey, type TEXT, artist TEXT, songname TEXT, preview TEXT, link TEXT, size TEXT, time TEXT, user TEXT, ip TEXT, data TEXT, deskr TEXT, reserv1 TEXT, reserv2 TEXT)");[/sql] Как видно почти все поля [sql]. .. link TEXT, size TEXT, time TEXT, user TEXT, ip TEXT, data TEXT...[/sql] Одинаковы. Не лучше ли будет вынести их в отдельную таблицу? И потом по for_id определять кто и когда загрузил? Потом для type сделать тоже таблицу [sql]name_group TEXT, data_create Text, descr TEXT [/sql] Но как связать все до кучи не совсем представляю
Ну вот, опять не могу разобраться... В [sql]CREATE TABLE albums (id integer primarykey, type TEXT, artist TEXT, ......[/sql] [sql]CREATE TABLE types (id integer primarykey, type_name TEXT, ....[/sql] В результате запроса к первой таблице, кроме всех ее полей, нужно найти строку во второй, где id=type Делал вот так [sql]SELECT albums.*, types.* FROM albums LEFT JOIN types ON (albums.type = types.id )WHERE albums.artist='$artist' ORDER BY data DESC[/sql] Но ничего не выходит.