首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据SQL中的值对两组中的内容进行分类?

如何根据SQL中的值对两组中的内容进行分类?
EN

Stack Overflow用户
提问于 2016-06-01 23:25:03
回答 2查看 25关注 0票数 0

我有一个如下的关系模式:

代码语言:javascript
复制
INVENTORY(inventoryID,title,wholesale,markup,qtyinStock,discount)
Primary-Key: inventoryID

BOOK(coverType,inventoryID)
Primary-Key: inventoryID
Foreign-Key: inventoryID

DVD(classification,ReleaseYear,StarRating)
Primary-Key: inventoryID
Foreign-Key: inventoryID

图书和DVD基本上是库存的子类型。它们是从库存中继承的。现在,我想将清单中的所有项目显示为书籍或DVD,具体取决于表中的项目。我做了以下操作,但我不确定这是否正确:

代码语言:javascript
复制
SELECT title FROM INVENTORY,BOOK,DVD
WHERE INVENTORY.inventoryID = BOOK.inventoryID AND INVENTORY.inventoryID = DVD.inventoryID

不过,这不会显示项目的标题。我怎么才能添加它呢?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-06-01 23:43:48

除非我读错了你的问题,否则这个查询很简单。您的示例查询提取既是DVD又是Book的库存。

代码语言:javascript
复制
SELECT title,
CASE WHEN b.inventoryID IS NOT NULL THEN 'Book'
  WHEN d.inventoryID IS NOT NULL THEN 'DVD'
END AS Category
FROM Inventory i
JOIN Book b on i.inventoryID = b.inventoryID
JOIN DVD d on d.inventoryID  = i.InventoryID
票数 1
EN

Stack Overflow用户

发布于 2016-06-01 23:36:34

使用WHERE子句中的AND,您将尝试获取库存项目的标题,即图书和dvd。尝试更改和ORAND

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37572872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档