|
|
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
Приветствую господа, в общем есть таблица id (int) owner_id (int) ...... begin_user_id (int) to_users_id (text) ...... begin_user_id - это айди пользователя, родителя (автора) to_users_id - вот тут я нашел 2 решения, это список айди пользователей для кого доступны эти данные (нельзя выделить группы айди, они могут быть произвольны). Первое решение: хранить тут список в виде 4,6,10,14,55 и т.д., т.е. ID[,] так удобно, да, но возникает вопрос, как зделать выборку если так SELECT * FROM table WHERE to_users_id LIKE '$ID' не кактет, т.к. возможен выбор для id=9 чисел 9,99,999 и т.д. если делать ..... LIKE '$ID,' то опять же возможен вариант что будет айди последним и у него не будет запятой. вотрой вариант, это делать доп. таблица, где есть id, id_table, to_user_id и делать уже дозапрос через нее. подскажите как решить это? может есть еще вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:03 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
+++++++++++++++ Рекомендую Вам написать, какой SQL-сервер вы пользуете. Реализация наверняка сильно зависит от конкретной СУБД. После этого топик будет перенесен в соответсвующий форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:13 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
Если очень не хочешь сделать нормально (с дополнительной таблицей), то храни список айди в виде строки с одинаковым разделителем и делимитером в конце и в начале строки (как например это может быть пробел). Тогда лайк по айди, обрамленному пробелами (или что там выберешь) вернет то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:13 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
maximatorПервое решение: хранить тут список в виде 4,6,10,14,55 и т.д., т.е. ID[,] Нарушение первой нормальной формы. Причем именно в том виде, в котором некто Кодд объяснял, чем это нарушение плохо. maximatorтак удобно, да, Удобно? Хм. maximator но возникает вопрос, как зделать выборку А, ну да. Ботинки удобные, только стерли ноги. Если очень не хотите нормализовать - идите в Oracle. Там Вы сможете хранить этот список как nested table и работать с ним средствами SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:41 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
begin_user_id - это айди пользователя, родителя (автора) to_users_id - вот тут я нашел 2 решения, это список айди пользователей для кого доступны эти данные (нельзя выделить группы айди, они могут быть произвольны). Это не по-английски. Это какая-то американоподобная тарабарщина. Лучше parent_id allowed_users_identities Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 14:34 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
Cat2+++++++++++++++ Рекомендую Вам написать, какой SQL-сервер вы пользуете. Реализация наверняка сильно зависит от конкретной СУБД. После этого топик будет перенесен в соответсвующий форум. Сорри, забыл, MySQL 3.x/4.x Vitamin Это не по-английски. Это какая-то американоподобная тарабарщина. это то здесь причем, для примера даны названия полей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 16:47 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно ц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2005, 01:12 |
|
||
|
Таблица...
|
|||
|---|---|---|---|
|
#18+
maXmo Код: plaintext Сенкс! Разобрался, тока возвращяется не то что нужно: Запрос: SELECT jobs.* FROM jobs,jobs2users WHERE jobs2users.to_user_id='2' AND jobs.id IN(jobs2users.job_id) вернет одну запись (верную, но одну) ну или SELECT jobs.* FROM jobs,jobs2users WHERE jobs2users.to_user_id='2' AND jobs.id =jobs2users.job_id вернет тоже самое. а записи с to_user=1 в таблице 3-и штуки: id to_users 1 1 2 1 3 1 4 0 5 0 в табле jobs2users: id job_id to_user_id 1 1 1 2 1 2 запрос след. вида: SELECT jobs.* FROM jobs,jobs2users WHERE jobs2users.to_user_id='2' вернет все записи из jobs, хотя у 4 и 5 айди ваще 0 в to_users я застрял %) в чем моя ошибка? SELECT jobs.* FROM jobs,jobs2users WHERE jobs.id=jobs2users.job_id вернет: 1 запрос (т.к. групировал по id): id=1,..., ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2005, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1854093]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
7ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 521ms |

| 0 / 0 |
