Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 табл., извлеч данные по двум параметрам, (подробное пояснение в сообщении) 
:(
    Опции темы
numerovan
Дата 18.9.2013, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Здравствуйте, ломаю голову над решением, если кто знает, подскажите пожалуйста.
Данные следующие:
1. есть таблица с пользователями (имя, фамилия, год рождения и т.д.)
2. так же есть таблица с друзьями (данные о дружбе), она выглядит так:
-------id------|------user-----|------friend---|---confirm----|-----the_time---|
-------1------|------100------|-------300-----|------0--------|-----(время)-----|
-------2------|------200------|-------100-----|------0--------|-----(время)-----|
-------3------|------100------|-------400-----|------0--------|-----(время)-----|
-------4------|------100------|-------500-----|------0--------|-----(время)-----|

под цифрой 100, это допустим текущий пользователь, он предлогает дружбу юзеру под id 300 (первая строчка), 
(вторая строчка) юзер под id 200 предложил дружбу мне (100) , но я её не подтвердил, поэтому и 0 (ноль) стоит.
Необходимо вывести данные из столбцов user и friend, но не равное моему id (100) с "confirm=0", и по этим id (не с текущим пользователем) подцепить информацию по первой таблице, там где находиться полная информация о пользователе, и нужно the_time, из второй таблице, прицепить к общему выводу информации, допустим с права. В итоге получиться список из ЗАЯВОК НА ДРУЖБУ пользователей сайта с указанием времяни на заявку.
Надеюсь доступно объяснил.
         
PM MAIL   Вверх
Akina
Дата 18.9.2013, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Цитата(numerovan @  18.9.2013,  14:53 Найти цитируемый пост)
Надеюсь доступно объяснил.

Напрасно... надо было объяснять только задачу, и не добавлять к ней своё вИдение пути её решения...

Цитата(numerovan @  18.9.2013,  14:53 Найти цитируемый пост)
В итоге получиться список из ЗАЯВОК НА ДРУЖБУ пользователей сайта с указанием времяни на заявку

типа
Код

select u.name,f.time
from friends f, users u
where f.user=100
and f.friend=u.id
and f.confirm=0



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
numerovan
Дата 18.9.2013, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Поробывал сделать данное решение, с помощью вышеуказанного примера, не получилось так как хотел.
В последнем решении выбираються ЗАЯВКИ НА ДРУЖБУ (confirm=0) исходящие от меня (id=100) , но хотелось бы взять ещё и каторые я отправил людям.
Покажу на примере:
Из этого
-----100----|-----200-----|----0----|
-----300----|-----100-----|----0----|
-----100----|-----400-----|----0----|
-----100----|-----500-----|----0----|
-----100----|-----600-----|----0----|
сейчас получаеться что выбирает только
-----100----|-----200-----|----0----|
-----100----|-----400-----|----0----|
-----100----|-----500-----|----0----|
-----100----|-----600-----|----0----|
этот момент "-----300----|-----100-----|----0----|", а именно цифра 300 не берёться (пропускаеться). Мне бы и её тоже бы подхватить и чтоб в итоге получилось типа
-----200----|-----time-----|
-----300----|-----time-----|
-----400----|-----time-----|
-----500----|-----time-----|
-----600----|-----time-----|
(id = 100 тут нет, это типо id текущ. пользователя и его не должно быть)

Добавлено через 7 минут и 44 секунды
вроде получилось )))) ...
Код

SELECT U.*, F.the_time FROM friends F, users U WHERE (F.user=100 and F.friend=U.profile_id AND F.confirm=0) OR (F.user=U.profile_id and F.friend=100 AND F.confirm=0)

 спасибо за верное направление )
PM MAIL   Вверх
Akina
Дата 18.9.2013, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Глупость получится, право слово... с другой стороны - а мне не пофиг?
Код

select u.name,f.time
from friends f, users u
where f.user=100
and f.friend=u.id
and f.confirm=0
union
select u.name,f.time
from friends f, users u
where f.friend=100
and f.user=u.id
and f.confirm=0



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
numerovan
Дата 18.9.2013, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



да, так тоже хорошо получилось! возьму ваш вариант, спасибо ещё раз!
PM MAIL   Вверх
numerovan
Дата 19.9.2013, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 549
Регистрация: 1.12.2007

Репутация: нет
Всего: 2



Снова вопрос появился: как вышеуказанное решение отсортировать по времени (f.time) ?
PM MAIL   Вверх
Akina
Дата 19.9.2013, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 45
Всего: 454



Иди уже прочитай по SQL ну хоть что-нибудь!


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
FINANSIST
Дата 2.10.2013, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Статус: Жив
**


Профиль
Группа: Участник
Сообщений: 526
Регистрация: 11.4.2008
Где: Москва

Репутация: нет
Всего: 23



Код

order by f.time 



--------------------
“...Брали корову рыжую одну, отдавать будем корову рыжую одну, чтобы не нарушать отчетности”
Эдуард Успенский, “Каникулы в Простоквашино”
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Составление SQL-запросов | Следующая тема »


 




[ Время генерации скрипта: 0.1194 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.