Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос со сложным условием
 
 автор: Ученик   (24.03.2006 в 17:28)   письмо автору
 
 


CREATE TABLE 'catalog_production' (
  'id' int(11) NOT NULL auto_increment,
  'id_num' int(11) NOT NULL default '0',
  'id_name' int(11) NOT NULL default '0',
  'id_charater' int(11) NOT NULL default '0',
  'text' text NOT NULL,
  PRIMARY KEY  ('id')
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=499 ;

-- 
-- Дамп данных таблицы 'catalog_production'
-- 

INSERT INTO 'catalog_production' VALUES (161, -68, 28, 1, 'SM-L (потай)');
INSERT INTO 'catalog_production' VALUES (162, -68, 28, 2, '8х160');
INSERT INTO 'catalog_production' VALUES (163, -68, 28, 3, '72,75');
INSERT INTO 'catalog_production' VALUES (164, -68, 28, 4, '80,03');
INSERT INTO 'catalog_production' VALUES (165, -68, 28, 5, '87,30');
INSERT INTO 'catalog_production' VALUES (166, -67, 28, 1, 'SMT-L (потай)');
INSERT INTO 'catalog_production' VALUES (167, -67, 28, 2, '10х100');
INSERT INTO 'catalog_production' VALUES (168, -67, 28, 3, '89,58');
INSERT INTO 'catalog_production' VALUES (169, -67, 28, 4, '98,54');
INSERT INTO 'catalog_production' VALUES (170, -67, 28, 5, '107,50');
INSERT INTO 'catalog_production' VALUES (171, -66, 28, 1, 'SMT-L (потай)');


Вот кусок из таблицы, как быбрать несколько значений из таблицы, удовлетворяющих условию
id_charater=3 или 4 или 5. Выбрать одно значение не составляет никакого труда, но вот если нужно два и более никак не выходит. А лопатить таблицу циклом с разными запросами не хочется. Вот запрос который выбирает одно значение

SELECT *  FROM 'catalog_production'  WHERE
 (  'id_num' = -67 )AND(
(id_charater=3)OR(id_charater=4)OR(id_charater=5))

Мне нужно выбрать по полю id_num, несколько значений, например -67 и -68, и чтобы они удовлетворяли условию описанному выше.

   
 
 автор: Loki   (24.03.2006 в 17:45)   письмо автору
 
   для: Ученик   (24.03.2006 в 17:28)
 


SELECT *  FROM 'catalog_production'  WHERE 'id_num' = -67 AND id_charter IN (3,4,5)

по идее, и ваш запрос должен выдавать тоже самое...

   
 
 автор: Ученик   (24.03.2006 в 18:00)   письмо автору
 
   для: Loki   (24.03.2006 в 17:45)
 

Спасибо, вот такой запрос сработал

SELECT * FROM 'catalog_production' WHERE id_num IN(-68, -67) AND id_charater IN(3, 4, 5)

   
 
 автор: Trianon   (24.03.2006 в 18:09)   письмо автору
 
   для: Ученик   (24.03.2006 в 18:00)
 

Советую быть аккуратнее с PRIMARY KEYS. Отрицательные и нулевые значения в AUTO_INCREMENT полях крайне не рекомендуется применять.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования