Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизSQL запрос Найти похожие ветки
← →
ice321 © (2006-09-12 13:26) [0]Здравствуйте.
У меня такая проблемма, при ваполнении такого SQL запроса:
select rusname, name from goods where name = ( select model from transfer where name like "#%")
BDE мне пишет "Single row subquery produced more than one row.",
подскажите мне как его модифицировать что бы не было такой ошибки.
Заранее спасибо.
← →
Loginov Dmitry © (2006-09-12 13:27) [1]name in
← →
ice321 © (2006-09-12 13:45) [2]Спасибо.
А существует ли в SQL оператор который бы в столбце выбирал бы первую часть занчания. Например в столбце значение "345215 NN W 45", мне нужно только 345215.
← →
Sergey13 © (2006-09-12 13:53) [3]> [2] ice321 © (12.09.06 13:45)
Все возможности SQL, для твоего случая, описаны в Localsql.hlp
← →
zdm © (2006-09-12 13:54) [4]function FN_Detect_For_Tree(const sss: string;s_pid:integer): string;
var
I: Integer;
begin
I := LastDelimiter(" ", sss);
← →
zdm © (2006-09-12 13:55) [5]а прости это не sql
← →
DESDECHADO © (2006-09-12 13:59) [6]не понял, что нужно
x LIKE "345215%"
или
substr
← →
ice321 © (2006-09-12 14:25) [7]При выполнении вот этого запроса
select rusname, name from goods where name in ( select model from transfer where name like "#%")
он мне ни чего не выводит, хотя я точно знаю что поле name в таблице goods
соответсвует полю model из таблицы transfer.
Я думаю что надо урезать поле name из goods что бы он сравнивал только по цифрам, может он по этому и не выводит?
← →
Sergey13 © (2006-09-12 14:36) [8]> [7] ice321 © (12.09.06 14:25)
Если ты точно знаешь "что поле name в таблице goods соответсвует полю model из таблицы transfer", то зачем усекать что-то? Если же они НЕ соответствуют по каким либо критериям, то как ты их вообще сравниваешь?
Сравнивать по наименованию - это вообще не есть хорошо.
← →
evvcom © (2006-09-12 14:50) [9]> [7] ice321 © (12.09.06 14:25)
Если ты точно знаешь "что поле name в таблице goods соответсвует полю model из таблицы transfer", то
нафига тебе вообще эта transfer?select rusname, name from goods where name like "#%"
разве не это тебе надо?
← →
ice321 © (2006-09-12 14:50) [10]Задча такая нужно в таблице transfer поменять значения поля name, а вот значение поля name ищем из таблицы goods там оно соответствует полю rusname, так вот я ищу эти значения по полям transfer.model=goods.name, но что ни чего ни выходит.
← →
ice321 © (2006-09-12 15:00) [11]Значания transfer.name и goods.rusname, повторяются.
Т.е. вот
transfer goods
name model rusname name
##### 23456 22 22 NN T штаны 23456 23 23NN T
штаны 23467 23 43WT K штаны 234467 23 43 WT K
куртка 34488 22 34 TT G
куртка 35678 34 55TR L
Вот мне и нужен такой запрос чтоб в поле name из таблицы transfer заменялось соответственно значению из поля rusname из таблицы goods.
← →
evvcom © (2006-09-12 15:07) [12]> [11] ice321 © (12.09.06 15:00)
Ну и на что должно поменяться твоя строка
transfer
name model
штаны 23467 23 43WT K ?
← →
ice321 © (2006-09-12 15:14) [13]УГУ
← →
evvcom © (2006-09-12 15:20) [14]Не УГУ, а я спрашиваю на что?
← →
ice321 © (2006-09-12 15:25) [15]Извени, было ##### 23456 22 22 NN T, стало штаны 23456 22 22 NN T,
первые четыре цыфры совпадают вот по ним я и хочу сравнивать где заменять.
← →
evvcom © (2006-09-12 15:36) [16]> первые четыре цыфры
1. 4 или 5?
2. Эти 4 (5) цифр уникальны? Т.е. они однозначно идентифицируют запись в goods?
3. Возьми себе за правило в табличках создавать ключевые поля. Это нужно в большинстве случаев. Когда ключи не нужны, случаи такие очень редки. Пока не наработаешь себе нужный опыт, создавай везде.
4. Почитай про нормализацию таблиц. В частности про 3 нормальную форму.
← →
Sergey13 © (2006-09-12 15:40) [17]С такими "штанами" и без штанов можно остаться. 8-)
← →
Anatoly Podgoretsky © (2006-09-12 18:38) [18]Или наоборот ходить в малиновых штанах.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.013 c