| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > 2 табл., извлеч данные по двум параметрам |
| Автор: numerovan 18.9.2013, 13:53 |
| Здравствуйте, ломаю голову над решением, если кто знает, подскажите пожалуйста. Данные следующие: 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, из второй таблице, прицепить к общему выводу информации, допустим с права. В итоге получиться список из ЗАЯВОК НА ДРУЖБУ пользователей сайта с указанием времяни на заявку. Надеюсь доступно объяснил. |
| Автор: numerovan 18.9.2013, 17:03 | ||
| Поробывал сделать данное решение, с помощью вышеуказанного примера, не получилось так как хотел. В последнем решении выбираються ЗАЯВКИ НА ДРУЖБУ (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 секунды вроде получилось )))) ...
спасибо за верное направление ) |
| Автор: Akina 18.9.2013, 17:11 | ||
Глупость получится, право слово... с другой стороны - а мне не пофиг?
|
| Автор: numerovan 18.9.2013, 17:21 |
| да, так тоже хорошо получилось! возьму ваш вариант, спасибо ещё раз! |
| Автор: numerovan 19.9.2013, 14:17 |
| Снова вопрос появился: как вышеуказанное решение отсортировать по времени (f.time) ? |
| Автор: Akina 19.9.2013, 14:22 |
| Иди уже прочитай по SQL ну хоть что-нибудь! |
| Автор: FINANSIST 2.10.2013, 08:24 | ||
|