首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自子选择的SQLKata倍数

来自子选择的SQLKata倍数
EN

Stack Overflow用户
提问于 2021-12-09 19:30:15
回答 1查看 336关注 0票数 1

我正在尝试编写以下语句,这是我想要的输出:

代码语言:javascript
复制
SELECT TABLE1.COLUMN_1
  FROM (SELECT '0' AS COLUMN_1 FROM DUAL) TABLE1,
       (SELECT '0' AS COLUMN_1 FROM DUAL) TABLE2
 WHERE TABLE1.COLUMN_1 = TABLE2.COLUMN_1;

这是代码SQLKata:

代码语言:javascript
复制
<PackageReference Include="SqlKata" Version="3.2.3" />
<PackageReference Include="SqlKata.Execution" Version="3.2.3" />

using SqlKata;
using SqlKata.Execution;

var q1= new Query("DUAL").Select("'0' AS COLUMN_1");
var q2= new Query("DUAL").Select("'0' AS COLUMN_1");
var q3= new Query().From(q1, "table1")
                   .From(q2, "table2")
                   .Where("table1.COLUMN_1","table2.COLUMN_1")
                   .Select("table1.COLUMN_1")
                   .FirstOrDefault<string>();

这导致:

代码语言:javascript
复制
SELECT TABLE1.COLUMN_1
  FROM (SELECT '0' AS COLUMN_1 FROM DUAL) TABLE2
 WHERE TABLE1.COLUMN_1 = TABLE2.COLUMN_1;

看起来是第二次覆盖第一次。

另一个例子是:

代码语言:javascript
复制
var phones = new Query("Phones");
var laptops = new Query("Laptops");

var query = new Query().From(phones, "P").From(laptops, "L") 

结果,注意电话不在查询中:

代码语言:javascript
复制
SELECT
  *
FROM
  (
    SELECT
      *
    FROM
      [Laptops]
  ) AS [L]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-10 12:39:29

这基本上是一个内部连接查询,因此您可以像下面这样重写它:

代码语言:javascript
复制
SELECT TABLE1.COLUMN_1
  FROM (SELECT '0' AS COLUMN_1 FROM DUAL) TABLE1 JOIN
       (SELECT '0' AS COLUMN_1 FROM DUAL) TABLE2
 ON TABLE1.COLUMN_1 = TABLE2.COLUMN_1;

这是SqlKata中的等价语法

代码语言:javascript
复制
var q1 = new Query("DUAL").Select("'0' AS COLUMN_1");
var q2 = new Query("DUAL").Select("'0' AS COLUMN_1");

var query = new Query()
    .From(q1, "table1")
    .Join(
        q2.As("table2"), // note how the As() method is used to alias this sub query 
        j => j.On("table1.COLUMN_1","table2.COLUMN_1")
    )
    .Select("table1.COLUMN_1");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70295676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档