我有 3 個表,列名完全相同。對于這個例子,讓我們說 id、name、category、price。
當我提取資料時,我得到了所需的資料,其中每個欄位重命名為源表。它不是那么簡單,我想從與 obj 的 arr 相同的列中提取資料。
目前查詢:
SELECT
ta.name AS name_a,
tb.name AS name_b,
ta.price AS price_a,
tb.price AS price_b,
ta.category
FROM table_A ta
JOIN table_b tb on tb.id = ta.id
目前結果
| ID | name_a | 名稱_b | 價格_a | 價格_b | 類別 |
|---|---|---|---|---|---|
| 1 | 名稱1 | 名稱2 | X | 是的 | 貓 |
| 2 | 名稱3 | 名稱4 | 米 | n | 貓 |
期望的結果
| ID | 名字 | 價格 | 類別 |
|---|---|---|---|
| 1 | {name_a:name1,name_b:name2} | {price_a:x,price_b:y} | 貓 |
| 2 | {name_a:name3,name_b:name4} | {price_a:m,price_b:n} | 貓 |
uj5u.com熱心網友回復:
這里是使用jsonb_build_object函式。
SELECT id,
jsonb_build_object('name_a', ta.name, 'name_b', tb.name) AS names,
jsonb_build_object('price_a', ta.price, 'price_b', tb.price) AS prices,
ta.category
FROM table_A ta JOIN table_b tb using(id);
uj5u.com熱心網友回復:
SELECT ta.id AS id
, array['name_a:' || ta.name, 'name_b:' || tb.name] AS names
, array['price_a:' || ta.price, 'price_b:' || tb.price] AS prices
, ta.category AS category
FROM table_A ta
JOIN table_b tb on tb.id = ta.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/523905.html
上一篇:python基礎-函式
