簡體   English   中英

使用案例根據另一個字段的值選擇字段

[英]Using case to select field based on value of another field

我有一個數據庫,三個字段:預訂類型,預訂編號和預訂日期。 一些值是

 Bookingtype Bookingnum date
 main        0001       10-11-15
 main        0002       09-11-15
 sub         0002a      12-12-15

我需要為每個記錄的日期寫一條選擇語句。 但是,如果預訂類型為子預訂,則應從主預訂日期中獲取日期。 在這種情況下,預訂2a的日期應為09-11-5。我使用的是postgres 9.3,並簡化了字段,以使其他人更容易理解我的需求。

假設您的主要電話號碼始終是Bookingnum的前4個字符(缺少明確的定義):

SELECT b.Bookingtype, b.Bookingnum
     , COALESCE(main.date, b.date) AS date
FROM   bookings b
LEFT   JOIN bookings main ON b.Bookingtype = 'sub'
                         AND main.Bookingnum = left(b.Bookingnum, 4);

我會考慮到主行的外鍵列(自我引用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM