Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Уважаемые мастера, подскажите как правильно выполнить   Найти похожие ветки 

 
svt   (2006-10-06 09:49) [0]

следующий запрос на sql. есть одна большая таблица из нее надо вытянуть в 2-3 таблице с учетом следующего условия:
1. Одна большая таблица (MainTable):
||   A  ||   B   ||   c    ||   D   ||
2. Из не необходимо создать две таблици
первая таблица (Table1)
||   A  ||   B   ||
и вторая таблица (Table2)
|| A    ||   C   ||   D   ||

Заранее очн благодарен


 
ЮЮ ©   (2006-10-06 10:07) [1]

INSERT INTO Table1(A, B)
 SELECT A, B FROM MainTable

INSERT INTO Table2(A, C, D)
 SELECT A, C, D FROM MainTable

Если связь 1 ко многим и  SELECT A, B FROM MainTable возвращает дубли, то
INSERT INTO Table1(A, B)
 SELECT DISTINCT A, B FROM MainTable


 
svt   (2006-10-06 10:12) [2]


> ЮЮ ©   (06.10.06 10:07) [1]

Спасибо....
в этой связке возможно и наличие условий типа where ......?


 
ЮЮ ©   (2006-10-06 10:20) [3]

не в связке, а в части SELECT - ради бога.

При повторной попытке выполнения запроса не забудь очистить таблицы-приемники или исключай попытки вставки дублей
INSERT INTO Table1(A, B)
SELECT DISTINCT A, B FROM MainTable
 WHERE
 ... AND  
 (A NOT IN (SELECT A FROM Table1))


 
svt   (2006-10-06 10:37) [4]


> (A NOT IN (SELECT A FROM Table1))

я не понял что значит ->А<- в запросе?

Подскажи пожалуйста. Есть таблица (А) в (предположим из одного столбца) в которой должны содержаться числовые значения двух видов (1- длина числа 10 символов и -  8 символов ). Так же есть еще таблица-исходник(В) в которой содержаться числа с различной длиной. Вот. Необходимо перегнать из таблицы (В) в таблицу (А) значения так, чтобы выполнялось условия:
если length(значение)=10 то так и оставляем
если length(значение)=8 то так и оставляем
если length(значение)<8 то добавляем нули в переди до length(значение)=8

Подскажи как это реализовать в sql


 
k2 ©   (2006-10-06 10:46) [5]

svt   (06.10.06 10:37) [4]
в справке по mssql прочитать, што за типы данных number и varchar
и подумать как можно к числовому значению дописать впереди нули и што получится в результате
затем создать таблицы с нужными типами полей
затем написать выборку, если не получается штото конкретное, то ещё раз обратиться за помощью
вообще приложить минимум какихто усилий


 
ЮЮ ©   (2006-10-06 10:46) [6]

А что делать, если 9? :)
SELECT
 Case
   when Len(Field) < 8 then
     RIGHT("00000000" + Field, 8)
   else
     Field
 end CorectedField
FROM B


 
k2 ©   (2006-10-06 10:48) [7]

ЮЮ ©   (06.10.06 10:46) [6]
мне не жалко, но помоему вы его балуете :)
с уважением, k2


 
Desdechado ©   (2006-10-06 10:52) [8]

> я не понял что значит ->А<- в запросе?
то же, что и в твоем первом посте - имя поля


 
svt   (2006-10-06 10:54) [9]


>  вы его балуете :)

дело не в лени и в не не желании чего-то самому делать.... вопросы, которые я задавал предназначены для того, что бы узнать в каком направлении искать дальше.... согласитесь, что это элементарно..... а в жизни все намного сложнее....
по поводу справки... так я ее уже по данному вопрсу осваеваю...
спасибо за то что переживаете о моем самообразовании :)


 
k2 ©   (2006-10-06 10:57) [10]

svt   (06.10.06 10:54) [9]
по вашим вопросам пока заметно только штобы вам сделали
если это настолько элементарно, то об чем речь? и это не жизнь, это всего лишь sql
в любом случае на здоровье :)


 
svt   (2006-10-06 11:05) [11]


> и это не жизнь, это всего лишь sql

если в жизни один раз не правильно выразишься в ответственный момент, то может настать фатальная ошибка и все .... даже пошаговый дебугер не поможет.... разве аналогии нет?:)


 
k2 ©   (2006-10-06 11:09) [12]

svt   (06.10.06 11:05) [11]
неа, тестировать тщательнее надо, ну впрочем это офтоп, не буду больше отвлекать от изучения справки


 
svt   (2006-10-06 11:22) [13]

ок



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
3-1159976497
Sanya_BBB
2006-10-04 19:41
2006.12.10
Как внести данные сразу в главную и дочернюю таблицы. В сетевой Б


2-1163994363
Palarm
2006-11-20 06:46
2006.12.10
Линия


15-1164126797
Ламот
2006-11-21 19:33
2006.12.10
КПК + Приближающиеся морозы...


6-1153229738
avram
2006-07-18 17:35
2006.12.10
сокеты


2-1164112087
Сатир
2006-11-21 15:28
2006.12.10
сравнение двух булевых массивов