讓我們考慮一個CLASS和BILL表。
CLASS 桌子:
| 班級 | 描述 |
|---|---|
| F | 工廠 |
| H | 總公司 |
| C001 | 電氣 |
| C002 | 機械的 |
| C003 | 民事 |
BILL 桌子:
| BILL_NO | 檔案類 |
|---|---|
| 1 | FC001 |
| 2 | FC002 |
| 3 | FC003 |
描述:Class是一個主鍵。假設我們通過從CLASS表中標記不同的類來創建發票。
例如,發票 1 是通過標記FCOO1(即工廠和電氣)創建的
問題:如何撰寫 SQL 查詢以僅獲取Invoice 1 的COO1一部分?FC001
此 SQL 代碼不起作用:
Select
BILLDET.BILL_NO,
BILLDET.CLASS,
BILLDET.GLCODE,
CLASS.DESCRIPT
From
BILLDET
Full Join
CLASS On BILLDET.CLASS = CLASS.CLASS
輸出:
| 賬單號 | 描述 |
|---|---|
| 1 | 工廠電氣 |
謝謝
uj5u.com熱心網友回復:
呃,存盤資料的方法
WITH classx AS(
SELECT
c.class n.class as class,
c.descript n.descript as descript
FROM
class c
JOIN class n
ON
c.class LIKE 'c%' AND
n.class NOT LIKE 'c%'
)
SELECT * FROM bill JOIN classx ON bill.docclass = classx.class
uj5u.com熱心網友回復:
select bill_no, Description
from
(
select c2.class c1.class as keys, c2.description c1.description as Description
from class c1, class c2
where c1.class LIKE 'c%' AND
c2.class NOT LIKE 'c%'
)as tab, bill
where keys = DOCCLASS;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/415082.html
標籤:
