0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 3
1

Значение столбца в слове

12.05.2013, 10:05. Показов 465. Ответов 5
Метки нет (Все метки)

проблема такая
пишу программу подборки комплектующих и сборки компьютера и вот щас встал вопрос:
есть ли в мускуле такой запрос чтобы значения столбца содержались в слове, т.е. слово "sataata" в переменной k типа ansistring к примеру в таблице значения sata, ata и др . - и надо чтоб вывелись все строки со значениями sata и ata

код типа
C++
1
k[14]="select * from jd where "+k[12]+" like %jdsoc% ";
дает ошибку в синтаксисе
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2013, 10:05
Ответы с готовыми решениями:

Проверка если значение столбца hour = 1, то вывести текст, если значение столбца = 0, Как реализовать?
На сайте уже есть регистрация, авторизация. И нужно сделать если у пользователя который...

Увеличить значение каждого элемента столбца матрицы G (N, M) на значение первого элемента соответствующего столбца
Доброго времени суток, помогите плиззз. Есть матрица G(7,5) заполненая случайными...

Выбрать данные из одного столбца БД и изменить значение другого столбца
есть таблица из двух полей, одно varchar, второе boolean, нужно выбрать запись из первого поля, а...

Сравнить 2 столбца, и для ячеек с совпадениями в столбце А перейти на 2 столбца вправо и вставить значение
Добрый день! Помогите пожалуйста решить одну проблему. Нужно сравнить 2 столбца, и для ячеек с...

5
45 / 37 / 9
Регистрация: 26.04.2013
Сообщений: 89
13.05.2013, 20:16 2
Не совсем понял, что надо. Может это?
SQL
1
"select * from jd where фильтруемое поле='sata' OR фильтруемое поле='ata' "
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 3
14.05.2013, 09:25  [ТС] 3
нет - вот есть сокеты на материнской плате - на ней может быть только sata - только ata - и sata и ata
в таблице бд материнских плат есть столбец под названием jdsoc - где будут написаны имеющиеся сокеты в материнской плате - и значения могут иметь вид - если там только sata слоты - то sata - если там только ata слоты - то ata - а если там 2 или более видов - то значения будут иметь вид типо sata/ata - или sataata - или atasata и тд
в таблице бд жеских дисков есть такой же столбец jdsoc - но значения там или только sata - или только ata - или другой какой либо слот (мож появится в будущем)
по сборке мне сначала надо выбрать видеокарту - потом процессор - потом мат плату - и потом только жеский диск
зная слот материнской платы - мне нужно подобрать оптимальный по цене и своей работе жеский диск - и если слот sata - то выбираю из жд где слот sata - но если слотов несколько - например sata/ata - то как мне сделать запрос - чтобы значение таблицы жд в поле jdsoc содержало часть имени sata/ata - то есть проверяло все комбинации - есть ли "s" - есть ли "sa" - есть ли "sat" "sata" "sata/" "at" "ata" "/a" и тд
0
45 / 37 / 9
Регистрация: 26.04.2013
Сообщений: 89
14.05.2013, 13:34 4
не совсем понятно зачем проверять
все комбинации - есть ли "s" - есть ли "sa" - есть ли "sat" "sata" "sata/" "at" "ata" "/a" и тд
есть разъем sata и ata в БД они и хранятся с такими именами так и ищи их по имени целиком вместо k[12] подставь sata и будет тебе выбрано только sata а если сделаешь как я выше написал то выберет и сата и ата одновременно
SQL
1
"select * from jd where jdsoc="+k[12]+" "
0
0 / 0 / 0
Регистрация: 12.05.2013
Сообщений: 3
14.05.2013, 19:52  [ТС] 5
Начинаем сначала
в вашем запросе будет вот что



C++
1
"select * from jd where jdsoc="+k[12]+" "
если слот матплаты sata - т.е k[12]=sata - то да - будут выбраны все жд с sata слотом
если слот матплаты ata - т.е k[12]=ata - то да - будут выбраны все жд с ata слотом
если матплата содержит и ата и сата слоты - то k[12]=sataata - и не найдет ни одного - потому что значение слота у таблицы жд только sata и ata - и ata не равно sataata - так же как и sata не равно sataata
И повторюсь - что технологии идут вверх - будут выпускаться новые возможно слоты - и если мат плата будет содержать например 3 вида слотов (теоретически - так канешн бред) - то так же запрос будет неверен - нужен именно такой запрос - где проверяется значение сокета в таблице жд с поддерживаемым набором сокетов в материнской плате - написанных подряд или со знаком разделения
0
45 / 37 / 9
Регистрация: 26.04.2013
Сообщений: 89
14.05.2013, 20:05 6
я не знаю что такое k[12] вы не потрудились объяснить, так же как не потрудились объяснить какая у вас СУБД и какие компоненты вы используете, но мне не понятно чем вас не устраивает запрос
SQL
1
"select * from jd where jdsoc='sata' OR jdsoc='ata' "
он выберет и sata и ata появился 3 слот ну так допишите проверку сколько у вас слотов и каких и добавьте к этой записи еще OR jdsoc='какая то гадость'
И еще прочтите правила https://www.cyberforum.ru/abou... ment8.html
0
14.05.2013, 20:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2013, 20:05

Значение одного столбца = значению другого столбца
SELECT FROM WHERE значение одного столбца = значению другого столбца ; Как построить этот запрос...

Все компоненты столбца с наибольшим элементом матрицы уменьшить на минимальное значение компоненты этого столбца
Для произвольной матрицы все компоненты столбца с наибольшим элементом матрицы уменьшить на...

Поменять значение строки или столбца файла на введенное пользователем значение
В текстовый файл Hrube.in записано следующее: assign(f,'C:\I-1326\Hrube.in'); rewrite(f);...

Невозможно вставить явное значение для столбца идентификаторов, когда IDENTITY_INSERT имеет значение OFF
Не хочет заполнять вторую строчку в таблице , кажись новый ключ не хочет генерироваться. Ошибка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru