Консультация № 84780
30.04.2007, 07:51
0.00 руб.
0 3 3
Здравствуйте! Помогите разобраться в Sql-запросе...
У меня есть 2 таблицы Т1(TabN, NOrder,....) и Т5(TabN, NOrder,....), допустим в первой таблице 1 строка: TabN = 3, NOrder = 6, и во второй таблице 2-е строки: TabN = 4, NOrder = 7, TabN = 5, NOrder = 9. Как построить Sql запрос так чтоб в результирующей таблице Result(TabN, NOrder) все выглядело так: где будут три строки (TabN = 3, NOrder = 6)
(TabN = 4, NOrder = 7)
(TabN = 5, NOrder = 9)
Это нужно для того чтобы отоброзить все приказы в журнале приказов где нумерация приказов будет происходить в пределах одного вида приказа, то есть в журнале у меня могут быть два одинаковых значения NOrder

Обсуждение

Неизвестный
30.04.2007, 08:06
общий
это ответ
Здравствуйте, Митрофанов Дмитрий!
Для этого нужно создать временную или рабочую таблицу.
Перенести данные из одной и из другой таблицы в эту временную.
Составть запрос c учётом сортировки по полям TabN, Norder.
Неизвестный
30.04.2007, 08:58
общий
это ответ
Здравствуйте, Митрофанов Дмитрий!

Я так понял, что у вас никаких условий на выборку нет (раздела WHERE нет). Если это так, то запрос выглядит так.
SELECT * FROM T1
UNION
SELECT * FROM T5
Неизвестный
30.04.2007, 14:39
общий
это ответ

<i>Здравствуйте, <b>Митрофанов Дмитрий</b>!</i>

Если мне не изменяет память, то это делается как-то так:
<b>select</b> T1.TabN, T1.NOrder, ... <b>from</b> T1, T5
<b>where</b>
  (T1.TabN = 3 <b>and</b> T5.TabN = 3 <b>and</b> T1.NOrder = 6 <b>and</b> T1.NOrder = 6)
  <b>or</b> (T1.TabN = 4 <b>and</b> T5.TabN = 4 <b>and</b> T1.NOrder = 7 <b>and</b> T1.NOrder = 7)
  <b>or</b> (T1.TabN = 5 <b>and</b> T5.TabN = 5 <b>and</b> T1.NOrder = 8 <b>and</b> T1.NOrder = 8)

<i>Удачи!</i>
Форма ответа