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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MySQL]непойму как сделать выборку 
V
    Опции темы
Shark
Дата 25.4.2009, 01:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



есть таблица
id       |     id_top     |    top      |   id_cat    |    id_user     |    user     |    time    |   views
1        |        1          |      us      |    1          |     1              |     qwe    | 123456  |    1
2       |         3          |    uy        |     1         |      2             |     fgh    | 321564  |    0
3       |         2          |    ty        |     4         |      3             |     sdf     | 159753  |    1
4       |         7          |    po       |     8         |      4             |     uio     | 753951  |    1

как сделать выборку

если в cat =1 views равно 1 и 0 (или 0 и 1, или 0 и 0) то это FALSE, а есть views равно 1 и 1 это TRUE???



Это сообщение отредактировал(а) Shark - 25.4.2009, 01:46


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
pizzz
Дата 25.4.2009, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

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



Мало что понятно...

WHERE cat = 1 OR views = 0 AND cat = 0

Вобщем используйте OR и AND
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
Zloxa
Дата 25.4.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



не совсем понятно что вы же вы таки желаете получить в результате...
Код

select * from t t1
where not exists (select null from t t2 where t1.id_cat = t2.id_cat and views <> 0)



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Shark
Дата 25.4.2009, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



есть столбец id_cat , который равен 1, и есть столбец views, где могут быть 1 или 0...

Это FALSE
id       |     id_top     |    top      |   id_cat    |    id_user     |    user     |    time    |   views
1        |        1          |      us      |    1          |     1              |     qwe    | 123456  |    1           |
                                                                                                                                           | - FALSE
2       |         3          |    uy        |     1         |      1             |     qwe    | 321564  |    0             |


А так TRUE
id       |     id_top     |    top      |   id_cat    |    id_user     |    user     |    time    |   views
1        |        1          |      us      |    1          |     1              |     qwe    | 123456  |    1           |
                                                                                                                                           | - TRUE
2       |         3          |    uy        |     1         |      1             |     qwe    | 321564  |    1            |


как это вывести в запрос? 

Это сообщение отредактировал(а) Shark - 25.4.2009, 14:44


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
pizzz
Дата 25.4.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

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



Вам что надо получить в ответ? TRUE/FALSE 

Строки которые совпали?

Входные данные какие? id_cat  и все?
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
Shark
Дата 25.4.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



pizzz, 
Цитата

Вам что надо получить в ответ? TRUE/FALSE 
 - да
Цитата

Входные данные какие? id_cat  и все?

да


---------
Уменьшу таблицу чтоб лишнее в глаза не бросалось
id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - FALSE
2       |      1         |      0           |

и

id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - TRUE
2       |      1         |      1           |



Это сообщение отредактировал(а) Shark - 25.4.2009, 14:53


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
bars80080
Дата 25.4.2009, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



дык,

Код

select * from table where id_cat=1 and views<>0


если вернутся строки - значит true, иначе будет пустое значение, которое false
PM MAIL WWW   Вверх
Shark
Дата 25.4.2009, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, твоим методом он показывает так:
id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - TRUE
2       |      1         |      0           |

id       |    id_cat    |    views
1        |     1          |     0           |
                                                | - TRUE
2       |      1         |      1           |


id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - TRUE
2       |      1         |      1           |

id       |    id_cat    |    views
1        |     1          |     0           |
                                                | - FALSE
2       |      1         |      0           |


а надо так
id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - FALSE
2       |      1         |      0           |

id       |    id_cat    |    views
1        |     1          |     0           |
                                                | -FALSE
2       |      1         |      1           |


id       |    id_cat    |    views
1        |     1          |     1           |
                                                | - TRUE
2       |      1         |      1           |

id       |    id_cat    |    views
1        |     1          |     0           |
                                                | - FALSE
2       |      1         |      0           |


Это сообщение отредактировал(а) Shark - 25.4.2009, 19:23


--------------------
Смерть - это только начало... 
Агентство недвижимости Premial
PM MAIL WWW ICQ   Вверх
bars80080
Дата 25.4.2009, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



да, не додумал. однако, учитывая простоту двоичной арифметики, можем просто перевернуть и всё

правда, это противоречит смыслу выборки, ну да ладно, если нам надо только получить true или false

Код

select * from table where id_cat=1 and views=0

т.е. наоборот, ищем ноль, если есть, значит ложь, нет - правда
Код
$sql = 'select * from table where id_cat=1 and views=0';
$r = mysql_query($sql);

$n = mysql_num_rows($r);

if(empty($n)) echo 'true';
else echo 'false';

PM MAIL WWW   Вверх
Shark
Дата 25.4.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bars80080, урааааа... спасибо!!!! то что нужно!!!!


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


 




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


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

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