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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из 2х столбцов 
:(
    Опции темы
kluva
Дата 10.7.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Т.е в таблице может встречаться одинаковое значение в 2х разных столбцах, и эти записи нужно выбрать

к сожалению такой вариант:

Код

SELECT * from table where col1 OR col2 like '%имя%';


не дает желаемого результата.Подскажите как построить правильный запрос?



PM MAIL   Вверх
Kesh
Дата 10.7.2008, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

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



Код

SELECT * from table where col1 = col2;


ну и как вариант
Код

SELECT * from table where col1 = col2 and col1 like '%имя%';



Это сообщение отредактировал(а) Kesh - 10.7.2008, 12:39


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
kluva
Дата 10.7.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Теоретически подходит только вот не правильно всетаки выполняется:

если табличка:

TABLE:

id  |   col1   |   col2   |
-------------------------------
1   | Иванов  |  Петров|
2   |Петров  | Иванов|
3   |Сидоров | Петров| 

Код

на запрос SELECT * from table where col1 = col2 like '%Иванов%';

- Выводит все записи

Код

на запрос SELECT * from table where col1 = col2 and col1 like '%Иванов%';


-Ничего не находит

Есть еще варианты?
PM MAIL   Вверх
skyboy
Дата 10.7.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(kluva @  10.7.2008,  12:40 Найти цитируемый пост)
SELECT * from table where col1 = col2 like '%Иванов%'

это ересь вообще. результат сравнения двух полей(т.е. значение true или false) проверяется на предмет соответствия строке "%Иванов%". удивляюсь, как вообще не ругается на ошибку синтаксиса.
Цитата(kluva @  10.7.2008,  12:40 Найти цитируемый пост)
Ничего не находит

а у тебя разве есть такая запись, где и в Col1, и в col2 находится "Иванов"? что-то я не вижу в приведенном тобой примере такого
PM MAIL   Вверх
Akina
Дата 10.7.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Код

SELECT * 
FROM table 
WHERE (col1 like '%имя%')
   OR (col2 like '%имя%');



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

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


Новичок



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

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



Цитата(Akina @ 10.7.2008,  14:08)
Код

SELECT * 
FROM table 
WHERE (col1 like '%имя%')
   OR (col2 like '%имя%');

Спасибо, за помощь ,вот это подходит!
PM MAIL   Вверх
skyboy
Дата 10.7.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(kluva @  10.7.2008,  13:13 Найти цитируемый пост)
Спасибо, за помощь ,вот это подходит! 

та ну ладно.
как оно может подходить, если тебе надо:
Цитата(kluva @  10.7.2008,  11:16 Найти цитируемый пост)
одинаковое значение в 2х разных столбцах
?  smile 

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


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


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

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



skyboy, он(а) просто не может правильно сформулировать, что именно надо.  smile 


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

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


Новичок
****


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

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



Опять новички путают AND и OR
Простое правило, которое легко запомнить:
Составленное тобой выражение БД применяет к ОДНОЙ СТРОЧКЕ, а не к базе в целом.
Примени сам его к любой строчке и сразу поймешь, правильно ли ты его составил. 
PM   Вверх
Kesh
Дата 12.7.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

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



Цитата(Akina @  10.7.2008,  14:51 Найти цитируемый пост)
skyboy, он(а) просто не может правильно сформулировать, что именно надо.  smile  

Во.... а мы тут головы ломаем smile


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


 




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


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

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