| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > sql запрос к бд |
| Автор: namra 2.7.2014, 11:19 | ||
| Здравствуйте, помогите составить запрос использую БД MYSQL. В таблице есть записи 1) Mercedes A180 2) Hundai Accent 3) Hundai Elentra 1) Выбираем категорию Авто с пробегом выдает все 3 записи 2) Выбираем марку Hundai должно выводится две записи 2 и 3 3) выбираем марку Hundai модель Accent должно выводиться только одна запись под номером 2 Данная конструкция не помогает, не знаю как еще
|
| Автор: Romikgy 2.7.2014, 11:37 |
| имхо данная конструкция не является sql запросом... |
| Автор: namra 2.7.2014, 11:39 |
| ну я чтобы смысл был понятен написал, а так потом преобразую в нужную мне форму, мне главное увидеть конструкцию на чистом sql ка будет выглядеть |
| Автор: namra 2.7.2014, 21:02 |
| ТоляМБА, то что вы написали это я знаю, я хотел бы это выразить одной строкой sql запроса не могу разобраться с логическими выражениями, или такое в принципе не возможно? |
| Автор: ТоляМБА 2.7.2014, 21:10 | ||
| namra, можно и одной строкой - пишите между запросами UNION Добавлено через 1 минуту и 52 секунды Или так:
|
| Автор: namra 2.7.2014, 21:40 |
| ТоляМБА, используя ваш запрос постоянно выдает все три |
| Автор: ТоляМБА 2.7.2014, 22:07 |
| Вы написали три вопроса, я дал вам три запроса соответственно, вы хотели их (как я понял эти запросы) выразить одной строкой, пожалуйста! Пишите тогда конкретно, что вы хотели выразить! |
| Автор: namra 2.7.2014, 22:26 |
| Приложил картинку, есть поле select, допустим там выбрали категорию "Авто с пробегом", выдает все авто которые есть в базе категория у которых "Авто с пробегом" - Mersedes 190, Hundai Accent, Hundai Elantra, теперь пользователь захотел сделать фильтр по категории "Авто с пробегом" но при этом выбрав определенную марку Hundai например (т.е Авто с пробегом марка Hundai ) должно выдать Hundai Accent, Hundai Elantra так как выбрали доп поле Марку Hundai , Mersedes хоть и относится к категории "Авто с пробегом", но не выдается в результатах так как мы выбрали определенную марку. Надеюсь понятно объяснил. |
| Автор: ТоляМБА 3.7.2014, 07:35 | ||||||||||
Вот отсюда и начнём: 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 взятое в кавычки. Итак:
|