我有 2 表公司和联系人。联系人具有地址 JSONB 列。我在contacts.linked_to_company 上尝试了一个带有join 的select 语句并使用jsonb_array_elements(company.addresses) 但我收到错误“无法从标量中提取元素”,我理解这是因为某些条目在列地址中确实有[null]。我已经看到了使用合并或 CASE 语句的答案。Coalesce 我可能无法工作,CASE 示例在 select 语句中,如何在连接中使用它?这是sql
SELECT company.id,
trading_name,
nature_of_business,
t.id contactID,
address->>'PostCode' Postcode,
position_in_company
FROM contact t FULL JOIN company ON (t.company_linked_to = company.id ),
jsonb_array_elements(t.addresses) address
WHERE
t.company_linked_to ='407381';
Run Code Online (Sandbox Code Playgroud)
这是示例 jsonb
[{"PostCode":"BN7788","Address":"South Street","AddressFull":"","Types":[{"Type":"Collection"}]}]
Run Code Online (Sandbox Code Playgroud) 我正在尝试在收到请求后立即发送页面响应,然后处理一些内容,但我发现响应不会"先发送",即使它是代码序列中的第一个.在现实生活中我有一个页面用于上传一个excel表,它被保存到数据库中,需要花费时间(50,0000多行),并希望更新到用户进度.这是一个简化的例子; (根据你有多少RAM你可能需要添加几个零来计数器来查看结果)
package main
import (
"fmt"
"net/http"
)
func writeAndCount(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Starting to count"))
for i := 0; i < 1000000; i++ {
if i%1000 == 0 {
fmt.Println(i)
}
}
w.Write([]byte("Finished counting"))
}
func main() {
http.HandleFunc("/", writeAndCount)
http.ListenAndServe(":8080", nil)
}
Run Code Online (Sandbox Code Playgroud)