SQL запрос @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 16 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: SQL запрос
Сообщение Добавлено: 13 Январь 2006, 18:07:07 
Таблица состоит из 2-х столбцов:

COL 1 | COL 2
---------------------
Alex | 1
Alex | 2
Alex | 3
John | 1
John | 2
John | 4


Мне надо выбрать COL 1 где:
COL 2 = 1 and COL 2 = 2 and COL 2 = 3


вот это не работает:

SELECT col1 FROM table
WHERE
col2 = 1
AND
col2 = 2
and
col2 = 3

помогите!
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 13 Январь 2006, 18:15:45 
сделай нормальный запрос в строчку с `

_________________
можно на ТЫ.
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 13 Январь 2006, 18:16:54 
что значит не работает? что ты запросил (COL 2 = 1 and COL 2 = 2 and COL 2 = 3) - то и получил - ноль строк.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 13 Январь 2006, 18:18:28 
OR а не AND наверное :dandy:

_________________
можно на ТЫ.
fStrange Муж.
соучастник
10
Сообщения: 900
Зарегистрирован: 25.07.05
Откуда: Ростов-на-Дону
Сообщение Добавлено: 16 Январь 2006, 11:01:16 
bE(o0L,
поддерживаю версию :beer:

или col2 строковый параметр и нужны кавычки

_________________
Записки мобильного веб разработчика
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 16 Январь 2006, 15:21:29 
учите логику и больше никогда не путайте конъюнкцию с дизъюнкцией ;)

bE(o0L, :beer:

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 16 Январь 2006, 17:49:29 
наверно я не правильно топик поставил.

Если использовать "AND"
SELECT col1 FROM table WHERE col2 = 1 AND col2 = 2 and col2 = 3
как Long правильно сказал - мне не выдаст никакого результата

Если использовать "OR"
SELECT col1 FROM table WHERE col2 = 1 OR col2 = 2 OR col2 = 3
мне выдаст имена Alex и John

А мне надо получить только имя Alex. Потому что только Alex имеет значения во втором столбике 1, 2 и 3
1NV1Z0R
соучастник
12
Сообщения: 971
Зарегистрирован: 27.09.05
Сообщение Добавлено: 16 Январь 2006, 18:13:16 
неправильная структура, структуру пересмотреть
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 17 Январь 2006, 04:49:36 
вообщем, мое решение задачи (с проставленными кавычками :) )

SELECT col1 FROM table WHERE col2 = '1' OR col2 = '2' OR col2 = '3'
GROUP BY col1
HAVING (COUNT( col1 ) = '3')

выдаст только - 'Alex'
1NV1Z0R
соучастник
12
Сообщения: 971
Зарегистрирован: 27.09.05
Сообщение Добавлено: 17 Январь 2006, 09:19:39 
костыли к инвалидной коляске
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 18 Январь 2006, 05:37:08 

1NV1Z0R писал(а):
костыли к инвалидной коляске



а как надо?
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 18 Январь 2006, 13:37:22 
а ты задачу обрисуй. ибо сейчас правельно было бы так

col1 | col 2
alex | 1,2,3

-> where col2='1,2,3'

_________________
можно на ТЫ.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 19 Январь 2006, 03:15:07 

bE(o0L писал(а):
а ты задачу обрисуй. ибо сейчас правельно было бы так

col1 | col 2
alex | 1,2,3

-> where col2='1,2,3'



В принципе можно и так.. к задаче подходит

Единственный недостаток, я не смогу прописать внешние ключи к колонке col 2
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 19 Январь 2006, 03:20:57 
эт ещё почему? :dandy:

_________________
можно на ТЫ.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 19 Январь 2006, 04:55:45 

bE(o0L писал(а):
эт ещё почему? :dandy:



А как тогда.. :confused:
col 2 - должен быть либо SET, TEXT, VARSTR - или я не так понял?

По задаче: каждая цыфра в отдельности - индекс (а не их комбинация)

или с помощью триггеров делать проверки?
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 19 Январь 2006, 12:29:58 
AlexShop, оприши саму задачу, а не попытки ее решения. думаю тогда много станет понятнее.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 16 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100