Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.067 c
2-1164173301
Riply
2006-11-22 08:28
2006.12.10
Запись большого количества однотипных данных в Stream.


15-1163701134
Chort
2006-11-16 21:18
2006.12.10
День студента


2-1164272147
Bless
2006-11-23 11:55
2006.12.10
Зачем в TCustomForm.CreateNew второй параметр?


2-1164199029
Виктор1
2006-11-22 15:37
2006.12.10
Получение компонентов окна


15-1163811824
lookin
2006-11-18 04:03
2006.12.10
Rosenrot от Rammstein





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский