Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
SELECT ...
FROM tbProducts p
INNER JOIN tbCategories c on (p.CategoryID = c.CategoryID)
LEFT JOIN c.TableName params on (params.ProductID = p.ProductID)
WHERE ...
Где c.TableName имя таблицы которую нужно джойнить. Как это реализовать?
Re: Join таблицы, названия которой неизвестно заранее
Здравствуйте, PSergey, Вы писали:
PS>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
В sql — никак.
King Oleg
*Читайте DOC'и, они rules*
Re: Join таблицы, названия которой неизвестно заранее
Здравствуйте, PSergey, Вы писали:
PS>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
PS>
PS>SELECT ...
PS> FROM tbProducts p
PS> INNER JOIN tbCategories c on (p.CategoryID = c.CategoryID)
PS> LEFT JOIN c.TableName params on (params.ProductID = p.ProductID)
PS> WHERE ...
PS>
PS>Где c.TableName имя таблицы которую нужно джойнить. Как это реализовать?
А сервер какой?
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re: Join таблицы, названия которой неизвестно заранее
Здравствуйте, PSergey, Вы писали:
PS>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
смотри sp_executesql (MS SQL)
Re[2]: Join таблицы, названия которой неизвестно заранее
Здравствуйте, deniszb, Вы писали:
D>Здравствуйте, PSergey, Вы писали:
PS>>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
D>смотри sp_executesql (MS SQL)
все равно без временных таблиц не получится...
Re[3]: Join таблицы, названия которой неизвестно заранее
Здравствуйте, PSergey, Вы писали:
HB>>А сервер какой?
PS>MS Sql Server 2000
тогда так
exec('SELECT ... FROM tbProducts p ... LEFT JOIN ' + c.TableName + ' ... WHERE ...')
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re[3]: Join таблицы, названия которой неизвестно заранее
Здравствуйте, tarasich, Вы писали:
T>Здравствуйте, deniszb, Вы писали:
D>>Здравствуйте, PSergey, Вы писали:
PS>>>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
D>>смотри sp_executesql (MS SQL)
T>все равно без временных таблиц не получится...
Интересно, и куда тут можно временные таблицы пристроить?!
Re: Join таблицы, названия которой неизвестно заранее
Здравствуйте, PSergey, Вы писали:
PS>Доброго времени суток. Помогите разобраться со следующей ситуацией. Хочу сделать join таблицы, название которой храниться в поле другой.
PS>
PS>SELECT ...
PS> FROM tbProducts p
PS> INNER JOIN tbCategories c on (p.CategoryID = c.CategoryID)
PS> LEFT JOIN c.TableName params on (params.ProductID = p.ProductID)
PS> WHERE ...
PS>
PS>Где c.TableName имя таблицы которую нужно джойнить. Как это реализовать?