【发布时间】:2021-09-29 10:14:55
【问题描述】:
让我们考虑一个CLASS 和BILL 表。
CLASS表:
| Class | Description |
|---|---|
| F | Factory |
| H | Headoffice |
| C001 | Electrical |
| C002 | Mechanical |
| C003 | Civil |
BILL表:
| BILL_NO | DOCCLASS |
|---|---|
| 1 | FC001 |
| 2 | FC002 |
| 3 | FC003 |
说明:Class 是主键。假设我们通过标记 CLASS 表中的不同类来创建发票。
例如,发票 1 是通过标记 FCOO1(即工厂和电气)创建的
问题:如何编写 SQL 查询以仅从 Invoice 1 的 FC001 获取 COO1 部分?
此 SQL 代码不起作用:
Select
BILLDET.BILL_NO,
BILLDET.CLASS,
BILLDET.GLCODE,
CLASS.DESCRIPT
From
BILLDET
Full Join
CLASS On BILLDET.CLASS = CLASS.CLASS
输出:
| Bill NO | DESCRIPT |
|---|---|
| 1 | FactoryElectrical |
谢谢
【问题讨论】:
-
这是一张设计糟糕的表格:每列存储一个信息
标签: sql sql-server-2008