Главная страница
    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.045 c
4-1154016016
Destroyer
2006-07-27 20:00
2006.12.10
Проблема с получением короткого пути


2-1164224668
Romal
2006-11-22 22:44
2006.12.10
что быстрее?


3-1159875254
jiny
2006-10-03 15:34
2006.12.10
Out of Memory при формировании отчета в FastReport 3


2-1164370211
koha
2006-11-24 15:10
2006.12.10
Как правильно удалить Строку в StringGrid?


15-1164033526
Beavercrazy
2006-11-20 17:38
2006.12.10
Живо ли еще разрешение 800*600?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский