Jak połączyć kolumny sku_i i sku_o, aby wartość null można było wypełnić danymi obok niej (sku_i lub sku_o)? Zapewniam, że jeśli sku_i ma wartość null, to sku_o ma wartość.

table

https://i.stack.imgur.com/ctAQ5.png

-2
Alvin Rachmat 18 czerwiec 2021, 13:09

4 odpowiedzi

Najlepsza odpowiedź

Możesz użyć COALESCE:

SELECT *, COALESCE(sku_i, sku_o) AS sku
FROM yourTable;
2
Tim Biegeleisen 18 czerwiec 2021, 10:12

Użyłbym funkcji ifnull na wypadek, gdyby któraś była niewiadomo zaludniona.

ifnull(sku_i,sku_o)

https://www.w3schools.com/sql/func_mysql_ifnull.asp

0
Ali Dow 18 czerwiec 2021, 10:19

Możesz użyć coalesce(sku_i,sku_o). Spowoduje to wybranie pierwszej niezerowej wartości. Jeśli sku_i jest puste, to wybierze sku_o, w przeciwnym razie wybierze sku_1.

select id, trans_id, qty, trans_date, coalesce(sku_i,sku_o) from yourtable
0
Kazi Mohammad Ali Nur 18 czerwiec 2021, 10:13

Możesz użyć koalescencji

SELECT coalesce(sku_i,sku_o) AS new_name FROM ...
1
Dri372 18 czerwiec 2021, 10:13