![]() |
|
Модераторы: skyboy |
![]()
|
|
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
И так таблица znakomie
person | kachestwo ------------------- wowa | nehoroshij kostik | srednij andrej | otlichnij misha | srednij wowa | otlichnij jura | luchshij misha | nehoroshij jura | otlichnij В общем не обращайте внимание на название, а на суть, нужно подать ту person, где имеются одновременно два состояния, к примеру, where kachestwo='luchshij' and 'kachestwo=otlichnij', но так, чтобы эти два указанных состояния присутствовали в обязательном порядке, то есть те персоны, где только одно из этих качеств или вовсе никаких из указанных, чтобы не появлялись. То есть если даже одна и та же персона имеет качество otlichnij, но не имеет luchshij, или же имеет luchshij, но не имеет otlichnij, чтобы те также не рассматривались, помогите пожалуйста! В моём примере по сути только jura имеет оба качества одновременно, по сути другие должны отфильтроваться, вот как это правильно теперь сделать? Как правильно сформировать sql запрос? Это сообщение отредактировал(а) Viroman - 22.10.2008, 22:45 |
|||
|
||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
-------------------- ![]() |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
если человек может иметь одно и то же "качество" более одного раза, то надо в count добавить distinct:
иначе
вернет и wowa тоже. |
||||
|
|||||
| Kesh |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 15 Всего: 54 |
skyboy, точно... Запросы пишутся на коленке...
-------------------- ![]() |
|||
|
||||
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Спасибо Вам обоим за помощь, но указанный вариант мне не совсем подходит, точнее, мне желательно, чтобы он выдавал из таблицы всё *, но не просто всё, а сразу бы подавал оба варианта, типа
Хочу, чтобы он выдал всё и не просто так, а как в моём примере обе строчки, типа Array ( [person] => jura [kachestwo] => luchshij ) Array ( [person] => jura [kachestwo] => otlichnij ) |
|||
|
||||
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Чувствую, это нерешимая проблема силами скл
ибо мне необходимо, чтобы выдавались все значения, для которого изначально несколько условий выполнились. При том это должно происходить без группировки, то бишь, чтобы персон выдвалась столько раз, сколько та присутствует в таблице, раз для неё условия выполнились. Мне нужна нека постфильтрация. Сколько бы не спрашивал, с этой задачей не могут справиться даже заядлые эксперты :( хотя мне уже и inner join на одну и ту же таблицу предложили.. |
|||
|
||||
| Akina |
|
||||||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Да ладно, нашел проблему... Поехали.
Первый запрос - тупо убираем дубли, и отбираем нужные качества.
Второй запрос - считаем количество вхождений, и отбираем те, что имеют требуемое количество вхождений.
Осталось собрать всё в один запрос
PS. Это если я правильно понял условие - требуется вывести ВСЕ записи про всех знакомых, у кого хотя бы по разу встречается и 'luchshij', и 'otlichnij', вне зависимости от наличия других характеристик. Или так - требуется отфильтровать все записи про тех знакомых, у которых отсутствует хотя бы одно из указанных качеств. Это сообщение отредактировал(а) Akina - 23.10.2008, 22:34 -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||||
|
|||||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |