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

Вниз

Помогите правельно написать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.08 c
15-1231851161
Boris
2009-01-13 15:52
2009.03.15
Помогите найти лучший вариант таблицы


8-1183819493
Наташкин
2007-07-07 18:44
2009.03.15
пишу графический редактор. Помогите кое в чем.


2-1232510423
Тимоха
2009-01-21 07:00
2009.03.15
об использовании плагинов


2-1231070012
GVas
2009-01-04 14:53
2009.03.15
Оптимизация скорости вывода на екран с помощью Label


6-1200671377
Somes
2008-01-18 18:49
2009.03.15
Терминальный доступ. Поиск по удалённой машине.





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