【发布时间】:2010-11-01 22:48:58
【问题描述】:
我的应用程序有几个表:一个主 OBJECT 表和几个 用于存储特定类型对象的表:CAT、SHOE 和 BOOK。
以下是表格列的外观:
对象
object_id (primary key)
object_type (string)
猫
cat_id (primary key)
object_id (foreign key)
name (string)
color (string)
鞋
shoe_id (primary key)
object_id (foreign key)
model (string)
size (string)
书
book_id (primary key)
object_id (foreign key)
title (string)
author (string)
从用户的角度来看,每个特定的对象都被初步识别 按其名称,这是每个表的不同列。对于 CAT 表 它是名称,对于 SHOE 表它是模型,对于 BOOK 表它是 标题。
假设我收到了一个 object_id 而事先不知道是什么样的 它代表的对象——一只猫、一只鞋或一本书。我怎么写一个 SELECT 语句来获取此信息?
显然它看起来有点像这样:
SELECT object_type,name FROM object WHERE object_id = 12345;
但是如何在“名称”列中获取正确的内容呢?
【问题讨论】:
标签: sql