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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос не выдаёт всех данных 
:(
    Опции темы
animegirl
Дата 20.12.2012, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Незнайка на Марсе
**


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

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



Таблицы

Код

CREATE TABLE IF NOT EXISTS `user_friends` (
   `uid` int(10) unsigned NOT NULL,
   `group_id` tinyint(3) unsigned NOT NULL,
   `friends_ids` mediumtext COLLATE utf8_unicode_ci,
   `group_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`uid`,`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- --------------------------------------------------------

--
-- Table structure for table `user_profile`
--

CREATE TABLE IF NOT EXISTS `user_profile` (
   `uid` int(10) unsigned NOT NULL,
   `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
   `phone` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
   `nickname` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
   PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


  

Запрос

Код

SELECT *
FROM `way`.`user_friends`
RIGHT JOIN `way`.`user_profile` ON `user_profile`.`uid`
IN (
 `user_friends`.`friends_ids`
)
WHERE `user_friends`.`uid` =118


Результат

Код

uid     group_id     friends_ids     group_name     uid     email             phone         nickname 
118    1    97,116,117    NULL        97    none            none        aaa
118    2    116        dfgfdgf        116    [email protected]    NULL        iadshtf


По моим представлениям, тут не хватает ещё 2 строчек, где group_id был бы 1, а uid 116 и 117

Это сообщение отредактировал(а) animegirl - 20.12.2012, 22:08


--------------------
Скажи миру - НЯ!
PM   Вверх
skyboy
Дата 20.12.2012, 23:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


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

Репутация: 41
Всего: 260



странно, что из соединения пустых таблиц ты аж две записи в результате получаешь  smile 
PM MAIL   Вверх
tzirechnoy
Дата 21.12.2012, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 3
Всего: 16



Цитата
странно, что из соединения пустых таблиц ты аж две записи в результате получаешь


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


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


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

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



Код

ON `user_profile`.`uid`
IN (
 `user_friends`.`friends_ids`
   )

Как по-Вашему, какие записи при этом будут сопоставлены друг другу? 

Цитата(animegirl @  20.12.2012,  23:08 Найти цитируемый пост)
тут не хватает ещё 2 строчек, где group_id был бы 1, а uid 116 и 117

и связаны с записью, где friends_ids='97,116,117'? Чёрта с два! ну надо же не только маны читать, и при этом хоть немного думать...


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

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


Незнайка на Марсе
**


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

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



Цитата(Akina @  21.12.2012,  11:09 Найти цитируемый пост)
Как по-Вашему, какие записи при этом будут сопоставлены друг другу? 

В friends_ids список uid через запятую, как и в вами упомянутом мануале, именно так их надо вроде как скармливать в IN


--------------------
Скажи миру - НЯ!
PM   Вверх
Akina
Дата 30.12.2012, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



animegirl, но только одна мелочь - в виде ЛИТЕРАЛА. А не в виде значения поля.
Постарайтесь понять, что это две принципиально разные вещи. Хотя и выглядят внешне одинаково.


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

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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