小编Ser*_*kov的帖子

如何在左外连接中使用CTE?

我试图将公用表表达式连接到现有表(table1),如下所示.

select column1, column2 from table1

left outer join

  ;with cte as (
    select column1, column2 from table2)

  select column1, column2 from cte

on table1.column1 = cte.column1
Run Code Online (Sandbox Code Playgroud)

错误是:

  1. ';'附近的语法不正确.
  2. 关键字"on"附近的语法不正确.

我究竟做错了什么?我应该使用CTE来完成这项任务吗?

sql t-sql sql-server-2008

7
推荐指数
1
解决办法
2万
查看次数

这种类型的断言是否有效?

我正在阅读Go的io包的源代码,我遇到了一个我不完全理解的片段.这里是

func WriteString(w Writer, s string) (n int, err error) {
    if sw, ok := w.(stringWriter); ok {
        return sw.WriteString(s)
    }
    return w.Write([]byte(s))
}
Run Code Online (Sandbox Code Playgroud)

哪里

type stringWriter interface {
    WriteString(s string) (n int, err error)
}

type Writer interface {
    Write(p []byte) (n int, err error)
}
Run Code Online (Sandbox Code Playgroud)

类型断言w.(stringWriter)断言w的动态类型(即Writer)实现了stringWriter接口.鉴于stringWriter和Writer的类型定义,我不知道这是如何可行的.假设这段代码是正确的,我错过了什么?

go

2
推荐指数
1
解决办法
92
查看次数

标签 统计

go ×1

sql ×1

sql-server-2008 ×1

t-sql ×1