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

Вниз

Выборка из 2 таблиц   Найти похожие ветки 

 
webpauk ©   (2008-03-03 13:32) [0]

есть 2 таблицы (T1, T2) одинаковой структуры:
CREATE TABLE T... (ID INTEGER, Name CHAR(50))
и есть таблица (T3), в которой есть указатель на одну из таблиц:
CREATE TABLE T3 (ID INTEGER, NameTable CHAR(2), ID_T1T2 INTEGER)

соответственно нужно получить T1(T2).ID, T1(T2).Name AS Name в зависимости от NameTable.

запрос выглядит так:
SELECT
IF(T3.NameTable="T1" THEN T1.ID ELSE T2.ID) AS ID,
IF(T3.NameTable="T1" THEN T1.Name ELSE T2.Name) AS NAME
FROM T3, T2, T1
WHERE
(T3.ID_T1T2=T1.ID) AND (T3.ID_T1T2=T2.ID)


проблема в том, что такой запрос выдает записи, связанные ВСЕ ко ВСЕМ.
может кто подскажет как правильнее организовать запрос


 
Sergey13 ©   (2008-03-03 13:36) [1]

> [0] webpauk ©   (03.03.08 13:32)
> в которой есть указатель на одну из таблиц

В смысле? На кокую то конкретную таблицу или на любую из первых двух.

Кстати, зачем 2 таблицы одинаковой структуры?


 
Johnmen ©   (2008-03-03 15:03) [2]

SELECT T1.ID AS ID, T1.Name AS NAME
FROM T3, T1
WHERE (T3.ID_T1T2=T1.ID) AND (T3.NameTable="T1")
UNION
SELECT T2.ID AS ID, T2.Name AS NAME
FROM T3, T2
WHERE (T3.ID_T1T2=T2.ID) AND (T3.NameTable="T2")



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
15-1215335704
AndreyRus
2008-07-06 13:15
2008.08.24
Бесплатное хранилище архивов в Интернете.


2-1216202147
savyhinst
2008-07-16 13:55
2008.08.24
Ворос про рисование на Canvas


2-1216300512
Scary
2008-07-17 17:15
2008.08.24
внешний вид моего файла


10-1148989839
Andrey_Gor
2006-05-30 15:50
2008.08.24
Error: "Интерфейс не поддерживается"


2-1216215791
savyhinst
2008-07-16 17:43
2008.08.24
TComponentName = type string;