3 yeni sütun ekleyen bir tablonun yeni bir sürümünü oluşturuyorum. İşte benim insert sorgusu: Belirli koşullara göre yeni değerler ekleme
INSERT INTO test_db.new_item
SELECT A.*,'I','2010-02-01','9999-12-31' FROM db.item A WHERE ACTV_FLG = 'Y'
SELECT B.*,'U','2010-02-01',(CAST(LAST_UPD_TS AS DATE) - 1) FROM db.item B WHERE ACTV_FLG = 'N'
SELECT C.*,'D',CAST(LAST_UPD_TS AS DATE),'9999-12-31' FROM db.item C WHERE ACTV_FLG = 'N';
Ben eskisinin aynı sütunlar artı istediğim 3 yeni sütun ile yeni bir tablo oluşturdu. Bu ekleme, varolan verileri, gereksinim duyduğum formata dönüştürmek için bir kerelik bir sorundur. Yapmam gereken şey,
ACTV_FLG
'un
Y
olup olmadığını kontrol etmek ve belirli değerleri eklemek ve
ACTV_FLG
'un
N
olup olmadığını kontrol etmek ve farklı satırlarla iki satır eklemek Verilerin geçmişini tutmak. Orijinal satırı korumak için bu özel durumda, o zaman mevcut silme durumunu gösteren bir kopyasını yapın.
UNION'u denediğimde hata çıkıyor. Bu seçilmiş ifadeleri başka hangi şekilde birleştirebilirim?
Yeni_item tablosunda olduğundan daha fazla sütun eklediğinizi varsayalım. –
Hayır, new_item tablosu ihtiyacım olan tüm yeni sütunlara sahiptir, ancak bu sütunlar NULL DEĞİLDİR, bu yüzden bunları veriyle doldurmam gerekiyor. – Saliceran
Aldığınız tam hata mesajı nedir? sütun değerleri farklı bir veri tipinde mi? –