小编sag*_*agi的帖子

"加入"顺序是否会导致不同的查询性能

我有2个表(table1 table2),table2大于table1.

脚本1:

SELECT t1.A, t2.B
FROM table1 AS t1
JOIN table2 AS t2 ON t1.PK = t2.FK
Run Code Online (Sandbox Code Playgroud)

脚本2:

SELECT t1.A, t2.B
FROM table2 AS t2
JOIN table1 AS t1 ON t1.PK = t2.FK
Run Code Online (Sandbox Code Playgroud)

性能脚本#1是否优于脚本#2?

sql t-sql sql-server

5
推荐指数
1
解决办法
120
查看次数

如何通过部分字符串查找单词

我一直试图解决这个问题几个小时,但我不知道如何接近它,所以我需要向正确的方向努力.

我想创建一个页面,用户可以通过提供单词长度和字符来找到相应的单词.

例如,用户想要找到所有5个字母的单词,其中第二个字母是R和第四个V,如下所示:

_R_V_

我有一个带有单词WORDS的表,其中包含"letter","moon","drive","mrive"等字样,查询应返回:"drive"和"mrive".

是否有可能在MySQL中做到这一点?

当我在寻找方向时,我发现我应该创建一个trie结构.我不知道该怎么做,但如果没有更简单的方法,我会学到它.

mysql sql

5
推荐指数
0
解决办法
47
查看次数

如果另一列具有多个值,如何选择按列分组的值

我试图从表中获取column1中的值,这些值在column2中有一些值.

例如,我想获得A,因为它有"1,2,3".(预期产出的选择:A)

---
A|1
A|2
A|3
A|4
B|1
B|3
---
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的

SELECT * FROM sample_table WHERE Col2 in (1,2,3) GROUP BY col1
Run Code Online (Sandbox Code Playgroud)

我完全理解它不会起作用,因为我只是把第2列必须具有其中一个值的条件,然后我将它们按Col1分组,所以它需要(A,1),(A,2), (A,3),(B,1),(B,2) - >按Col1分组给我(A)和(B)

我真的不知道如何强制它拥有所有 3个值

这是尝试它的小提琴

注意

请随时编辑帖子,以使其更容易理解,我已尽力了,但我知道它不是很好解释,特别是标题

非常感谢你

mysql sql

5
推荐指数
1
解决办法
52
查看次数

如何组合一列中的日期和另一列中的时间

目前我正在尝试从两个日期列中选择一个日期时间列。我有以下情况:

  1. FROMDATE 包含没有时间的日期的列,例如 08-01-2017 00:00:00
  2. FROMTIME 包含没有日期的时间的列,例如 01-01-1899 13:50:00

现在我想在一列中选择两者,例如 SELECT (<what ever>) as FROMDATETIME ...

预期结果:08-01-2017 13:50:00

但我无法提取日期和时间部分并将它们作为 datetime.

用一种sql 说:select (date(FROMDATE) + time(FROMTIME)) as FROMDATETIME.

我已经尝试了很多与TO_CHARTO_DATE,但没能得到期望的结果。

sql oracle date

5
推荐指数
1
解决办法
2633
查看次数

asp.net CORE Migrations生成为空

我正在尝试按照教程添加从IdentityDbContext和生成的迁移(第二个)IdentityUser.
当我运行dotnet ef migration add <NAME>它是添加,但是UP并且DOWN是空的.

我发现从EFMigrationHistory表中删除数据可以解决问题,但该表不包含有关该迁移的任何信息,仅包含已创建的第一个.我尝试删除所有.TMP文件,删除并重新创建迁移.

WorldUser:

namespace TheWorld.Models
{
    public class WorldUser : IdentityUser
    {
        public DateTime FirstTrip { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

WorldContext:

namespace TheWorld.Models
{
    public class WorldContext : IdentityDbContext<WorldUser>
    {
        private IConfigurationRoot _config;
        public WorldContext(IConfigurationRoot config,DbContextOptions options) : base(options)
        {
            _config = config;
        }
        ....
Run Code Online (Sandbox Code Playgroud)

奇怪的是,它昨天不起作用,今天早上我尝试删除所有.TMP文件,迁移,并通过CMD重新创建它,它生成了一个看起来正确的迁移,但是愚蠢的,我删除了它,因为它有错误的名称,因为重新创建它不再起作用.

c# asp.net migration entity-framework asp.net-core

5
推荐指数
1
解决办法
2274
查看次数

通过不同的关系从另一个表中获取多个值

我有两个表:USER 和 SUBJECTS

用户表

用户表

主题表

主题表

表 USER 中的 SUBJECT1、SUBJECT2、SUBJECT3 是表 SUBJECT 中列 ID 的外键。

我正在尝试编写一个 SQL 查询,该查询返回第一个表中的所有列以及外键引用的值,以表明一个用户(教师)可以一次教授三个科目。我希望在结果中获取第二个表中的值,如下所示:

| ID | NAME  | AGE | ADDRESS | SUBJECT1 | SUBJECT2 | SUBJECT3 |
+----+-------+-----+---------+----------+----------+----------+
| 1  | John  | 30  | London  | Math     | English  | Sports   |
| 2  | Marry | 40  | London  | English  | Sports   | Biology  |
| 3  | Tom   | 35  | Paris   | English  | Sports   | Russian  |
Run Code Online (Sandbox Code Playgroud)

mysql sql database jdbc

4
推荐指数
1
解决办法
1080
查看次数

如何添加排名列?

我想选择记录并确定每个类似数据的排名.

我的数据如下.

MEMBER ID | LOAN AMOUNT 
1         | 2,000.00 
2         | 1,000.00 
3         | 4,000.00
4         | 1,000.00 
Run Code Online (Sandbox Code Playgroud)

我想要的结果如下所示.

RANK|MEMBER ID|LOAN AMOUNT 
1   |3        |4,000.00
2   |1        |2,000.00
3   |2        |1,000.00
3   |4        |1,000.00 
Run Code Online (Sandbox Code Playgroud)

RANK是一个新专栏.我正在使用MS SQL Server 2008并创建了一个视图表,如下所示,但它并没有产生想要的结果.

  select rank=count(*), s1.MemberID, s1.Loan_Amount 
   from (select MemberID, Loan_Amount from vwPrintTop20Borrowers) s1
   group by s1.MemberID, s1.LOAN_AMOUNT
     order by rank, s1.Loan_amount DESC
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢!:)

sql sql-server rank

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

如何在knex中使用联接条件为'on'的'and'

我正在尝试生成一个查询,如:

select ifnull(t1.name, ‘default’) as name
from tab1 as t1
left join tab2 as t2 
 on t1.id=t2.id and t2.code=“someValue”
Run Code Online (Sandbox Code Playgroud)

我用knex写的:

var query = knex().from(’tab1’).join(’tab2', function() {

    this.on('tab1.id', '=', 'tab2.id').andOn('tab2.code', '=', 'someValue')
}, 

‘left')
.column([

knex.raw(‘IFNULL(tab1.name, "no name") as name')

]);
Run Code Online (Sandbox Code Playgroud)

这不会执行,因为它将“ someValue”视为一列。在这种情况下如何应用“和”条件?

mysql knex.js

3
推荐指数
2
解决办法
3652
查看次数

SELECT DISTINCT有这么多条件

我正在尝试为我的网站创建一个过滤器功能.我被告知SELECT DISTICT用来完成这个.下面是我目前所拥有的,它检索列STATE中的所有不同值并将其显示为复选框,以便用户可以检查他想要在页面上的表上显示的状态.

$sql = "SELECT DISTINCT state FROM allproperties";
$result = mysqli_query($con,$sql);

while ($row = mysqli_fetch_array($result)) {
    echo "<input type='checkbox' name='state' value='" . $row[0] . "'>" . $row[0] . "<br>";
}
Run Code Online (Sandbox Code Playgroud)

我的问题是这个过滤器功能将有很多条件,而不仅仅是选择要显示的状态,可以选择哪个县,成员年龄,成员贡献蚀刻.当用户单击DISPLAY按钮显示筛选结果时,我不知道如何为此构建SQL查询.如果只有几个条件我可以简单地使用"SELECT*WHERE(...)AND(....)"但是如果我将它用于过滤器功能,那么会有很多条件,例如:

WHERE (state='CA' OR state='NV' OR state='WA' ..... so on and so fort)

有没有办法这样做,WHERE state=OR('CA','NV','WA')所以我没有这么多state=

此外,有没有人有任何筛选功能的示例查询?过滤器功能就像您在音乐网站中搜索基于流派或其他内容的歌曲一样.我提前为这个令人困惑的问题道歉,我找不到正确的问题要求这个.

php mysql sql

3
推荐指数
1
解决办法
70
查看次数

SQL服务器:DELETE <Table>与<Table>中的DELETE之间的区别

SQL服务器:
区别:

Delete tblxyz where id=6 
Run Code Online (Sandbox Code Playgroud)

并且:

Delete from tblxyz  where id=6
Run Code Online (Sandbox Code Playgroud)

他们在上述查询之间有什么区别吗?

sql sql-server sql-delete

3
推荐指数
1
解决办法
2792
查看次数