我正在使用 PostgreSQL 9.2。我需要从这个标题为房屋的表格中复制地址(分成多列):
house_id | unit_number| street_number | street| street_extension| suburb | postcode | state | sale_price | sale_date |
----------+------------+-------+-------+-------+-----------------+--------+----------+-------+------------+-----------+
1 | 2 | 17 | Rose | Av | Rye | 3099 | VIC | 240000 | 2003-12-02|
2 | | 3 | Jack | St | Rye | 3099 | VIC | 260000 | 2003-10-02|
放入此表中名为 address_list 的单个列中:
house_id | address | formatted_address | lat | lon | wkb_geometry | is_processed
----------+------------------------------------------+-------------------+-----+-----+--------------+--------------
| | | | | |
| | | | | |
我的语法是
INSERT INTO address_list (house_id, address)
SELECT house_id, unit_number || '/' || street_number || ' ' || street || ' ' || street_extension || ', ' || suburb || ', ' || state || ' ' || postcode
FROM houses;
由于源表的 unit_number 字段中有一些空条目,我的语法不起作用。
有没有办法复制 unit_number 加上“\”如果 NOT NULL,而忽略 unit_number 字段和“\”如果 NULL?
我花了几个小时寻找没有运气的解决方案,所以我非常感谢任何帮助。