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

Вниз

Помогите правельно написать SQL запрос   Найти похожие ветки 

 
Ivanoff   (2008-07-14 18:45) [0]

Имею

Master: Tbl_1: Fld_A, Id_t2, Fld_1, Fld_2, ... Fld_8
Detail  : Tbl_2: Id_t2, Fld_A, Fld_1

Справочник - Tbl_3: IdFld, Fld_A

Fld_1 .. Fld_8 из обоих таблиц беруться из справочника

Пример:
Tbl_1
Fld_A |Fld_1| ... | Fld_8
 abc  |  1  |  1  |  2  
 aaa   |  1
 aax   |  3  |  1

Tbl_2
Fld_A |Fld_1
  A   | 1
  B   | 2
  C   | 3

должен получть:
Tbl_1.Fld_A|Tbl_2.Fld_A
   abc    |    A
   abc    |    A
   abc    |    B
   aaa    |    A
   aax    |    C
   aax    |    A

SELECT *
FROM Tbl_1 LEFT JOIN Tbl_2 ON Tbl_1.Id_t2 = Tbl_2.Id_t2
WHERE Tbl_2.Fld_1 = Tbl_1.Fld_1
 OR Tbl_2.Fld_1 = Tbl_1.Fld_2
 ...
 OR Tbl_2.Fld_1 = Tbl_1.Fld_8

кручусь вокруг да около пока вроде бы не выходит: если к примеру Tbl_2.Fld_1 повторяется 2 раза (v Tbl_1.Fld_1 i v Tbl_1.Fld_2) то я полукю в итоге толко один раз а надо оба


 
Ivanoff   (2008-07-14 20:42) [1]

Нашел один выход:

SELECT T1.*, T2.*
FROM T1 INNER JOIN T2 ON T1.F1 = T2.F1

UNION ALL

SELECT T1.*, T2.*
FROM T1 INNER JOIN T2 ON T1.F2 = T2.F1

UNION ALL

...

UNION ALL

SELECT T1.*, T2.*
FROM T1 INNER JOIN T2 ON T1.F8 = T2.F1


но както через "задний проход" хотябы потому что сам SELECT у меня несколько серьёзней (выборка из нескольких таблиц в 2-х разных БД) не хоцца его плодить 8 раз ...


 
Johnmen ©   (2008-07-14 21:23) [2]

FROM Tbl_1
 LEFT JOIN Tbl_2 ON Tbl_1.Id_t2 = Tbl_2.Id_t2
 LEFT JOIN Tbl_2 ON Tbl_1.Fld_2 = Tbl_2.Fld_1
 ...
 LEFT JOIN Tbl_2 ON Tbl_1.Fld_8 = Tbl_2.Fld_1



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
2-1232704354
DevExpress
2009-01-23 12:52
2009.03.15
Значения полей БД


2-1232796415
programmer90
2009-01-24 14:26
2009.03.15
поддеревья в TreeView


15-1232042322
Kerk
2009-01-15 20:58
2009.03.15
rtorrent


6-1199882403
DmitriyG.
2008-01-09 15:40
2009.03.15
Dump IP сообщения


15-1231753699
NailMan
2009-01-12 12:48
2009.03.15
немного про свои сайты