|
Модераторы: skyboy |
|
namra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
Здравствуйте, помогите составить запрос использую БД MYSQL.
В таблице есть записи 1) Mercedes A180 2) Hundai Accent 3) Hundai Elentra 1) Выбираем категорию Авто с пробегом выдает все 3 записи 2) Выбираем марку Hundai должно выводится две записи 2 и 3 3) выбираем марку Hundai модель Accent должно выводиться только одна запись под номером 2 Данная конструкция не помогает, не знаю как еще
Это сообщение отредактировал(а) namra - 2.7.2014, 11:20 |
|||
|
||||
Romikgy |
|
|||
Любитель-программер Профиль Группа: Участник Клуба Сообщений: 7325 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
имхо данная конструкция не является sql запросом...
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
namra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
ну я чтобы смысл был понятен написал, а так потом преобразую в нужную мне форму, мне главное увидеть конструкцию на чистом sql ка будет выглядеть
|
|||
|
||||
ТоляМБА |
|
||||||||
Котэ Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
namra, допустим, есть таблица Table1
В ней поля Mark, Model, Probeg В них данные: ---------------------------------- Mark Model Probeg ---------------------------------- Lada Kalina 0 Mercedes A180 12000 Hundai Accent 5000 Hundai Elentra 10000
|
||||||||
|
|||||||||
namra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
ТоляМБА, то что вы написали это я знаю, я хотел бы это выразить одной строкой sql запроса не могу разобраться с логическими выражениями, или такое в принципе не возможно?
|
|||
|
||||
ТоляМБА |
|
|||
Котэ Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
namra, можно и одной строкой - пишите между запросами UNION
Добавлено через 1 минуту и 52 секунды Или так:
|
|||
|
||||
namra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
ТоляМБА, используя ваш запрос постоянно выдает все три
|
|||
|
||||
ТоляМБА |
|
|||
Котэ Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
||||
|
||||
namra |
|
|||
Опытный Профиль Группа: Участник Сообщений: 355 Регистрация: 26.4.2007 Репутация: нет Всего: нет |
Приложил картинку, есть поле select, допустим там выбрали категорию "Авто с пробегом",
выдает все авто которые есть в базе категория у которых "Авто с пробегом" - Mersedes 190, Hundai Accent, Hundai Elantra, теперь пользователь захотел сделать фильтр по категории "Авто с пробегом" но при этом выбрав определенную марку Hundai например (т.е Авто с пробегом марка Hundai ) должно выдать Hundai Accent, Hundai Elantra так как выбрали доп поле Марку Hundai , Mersedes хоть и относится к категории "Авто с пробегом", но не выдается в результатах так как мы выбрали определенную марку. Надеюсь понятно объяснил. Присоединённый файл ( Кол-во скачиваний: 4 ) 123.jpg 23,96 Kb |
|||
|
||||
ТоляМБА |
|
||||||||||
Котэ Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
Вот отсюда и начнём: 1. Если «авто с пробегом» то начальный запрос будет
2. Если «какое либо другое условие», то начальный запрос должен иметь вид
3. Если «все авто» то начальный запрос будет
Опишу на Delphi, думаю переделать в php, Вам не составит труда. На форме у Вас Доп. фильтры: Марка (Edit1 – поле для ввода марки) и Модель (Edit2 – поле для ввода модели). SQLText – переменная типа строка, в ней будет наш текст для конченого запроса Edit1.Text и Edit2.Text – содержимое полей Марка и Модель соответственно Trim(Edit1.Text) и Trim(Edit2.Text) – содержимое полей Марка и Модель соответственно без пробелов в начале и конце TrimEditText – переменная типа строка в которой мы будем хранить указанные в предыдущей строке значения Length(TrimEditText) – количество символов в переменной TrimEditText QuotedStr(TrimEditText) – значение переменной TrimEditText взятое в кавычки. Итак:
|
||||||||||
|
|||||||||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |