小编sag*_*agi的帖子

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
查看次数

如何使用聚合函数连接相关查询的数据?

我有下表:

userActions:
id | uId | goodAction | actionOverridden | dateAdded
Run Code Online (Sandbox Code Playgroud)

我写了一个查询来得到:

  • 好行动的数量(行在哪里goodAction = 1)
  • 不良行为的数量(行在哪里goodAction = 0)
  • 被覆盖的动作数(行在哪里actionOverridden = 1)


SELECT

(SELECT COUNT(*)
FROM userActions ua
WHERE ua.goodAction = 0 AND ua.dateAdded > NOW() - INTERVAL 1 year AND ua.uId = 520) badActions,

(SELECT COUNT(*)
FROM userActions ua
WHERE ua.goodAction = 1 AND ua.dateAdded > NOW() - INTERVAL 1 year AND ua.uId = 520) goodActions,

(SELECT COUNT(*)
FROM userActions ua
WHERE ua.actionOverridden = …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

SQL 更正拼错的单词而不修改原始值

当我SELECT something FROM sometable有一个字段包含something列(类别)中拼写错误的单词时。如何在不修改数据库表本身的情况下更正它?例如,对于 中的每个事物something,如果事物的值等于/包含sophiscate,则将其选择为sophisticate

t-sql sql-server sql-server-2008

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

如何在SQL Server中按年份分组记录

我有一个名为Product的表,它显示如下数据:

---------------------------------
l  TYPE   l PERIOD l  BALANCE   l
l   Auto  l  2015  l     5      l     
l   Car   l  2015  l     2      l     
l   Bus   l  2015  l     45     l   
l   Auto  l  2016  l     2      l     
l   Car   l  2016  l     6      l     
l   Bus   l  2016  l     50     l  
l   Auto  l  2017  l     12     l     
l   Car   l  2017  l     16     l     
l   Bus   l  2017  l     10     l  
---------------------------------
Run Code Online (Sandbox Code Playgroud)

我需要查询此表,以便结果基于类似于下面的年份:

---------------------------------------------------------
l TYPE    l BALANCE 2015 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

如何按特定方式订购?

Mysql表:

id | category    | image<br>
--------------------------------
0  | landscape   | image name
1  | panarimic   | image name
2  | portrait    | image name
3  | landscape   | image name
4  | landscape   | image name
5  | portait     | image name
Run Code Online (Sandbox Code Playgroud)

我想编写mysql select,它应首先获取格局,而不是列出其他格局.我怎样才能做到这一点?我可以添加类别编号并制作"按顺序排列",但如果没有它,还有其他方法吗?

php mysql sql

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

不支持表格/列名称中的方括号?

postgresql中不支持表名,列名或数据类型中的方括号吗?

在pgadmin中运行查询时出现以下错误:

CREATE TABLE [Test];

ERROR: syntax error at or near "["
Run Code Online (Sandbox Code Playgroud)

SQL状态:42601

sql postgresql

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

ASP.NET CORE将ID传递给控制器​​以显示页面

我正试图在页面中显示我的数据DbContext.

这是我的控制器:

  public async Task<IActionResult> Index(int? page)
    {
        int _page;
        if (page.HasValue)
        {
            _page = page.Value;
        }
        else
            _page = 1;
        return View(await _context.Agent.Skip(_page-1).Take(10).ToListAsync());
Run Code Online (Sandbox Code Playgroud)

我的布局页面包含链接:

 <li><a asp-area="" asp-controller="Agents" asp-action="Index" asp-route-id="1" >????</a></li>
Run Code Online (Sandbox Code Playgroud)

两件事情:

A)它似乎不起作用,无论我在asp-route-id同一个列表中传递的是什么.我究竟做错了什么 ?

B)它工作后,如何呈现页面供用户选择?(EG 1,2,3..90)

谢谢.

c# asp.net-core-mvc asp.net-core

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

单击ASP.NET Core禁用按钮

我有一个论坛,我接受来自用户的参数,并使用这些参数在我的DB上启动一个过程.

我有点卡住了,我需要做什么:

  • 单击按钮后禁用该按钮,直到SP完成,然后再次启用它.

我的论坛:

   <form asp-action="RunProcedure" asp-controller="Home">
        <div asp-validation-summary="ModelOnly"></div>
        <div class="form-group">
            <label asp-for="ShiaruchDate">Shiaruch Date</label>
            <input asp-for="ShiaruchDate" placeholder="YYYY-MM-DD 00:00:00" class="form-control" />
            <span asp-validation-for="ShiaruchDate" class="text-muted"></span>
        </div>

        <div class="form-group">
            <p>Please enter dates in format of : YYYY-MM-DD 00:00:00</p>
            <input type="submit" />
        </div>
Run Code Online (Sandbox Code Playgroud)

我的控制器:

[HttpPost]
public async Task<IActionResult> RunProcedure(string startDate, string endDate, string shiaruchDate)
{
    if (ModelState.IsValid)
    {
        using (var cmd = _context.Database.GetDbConnection().CreateCommand())
        {
            cmd.CommandText = "RunSSISPackage";
            cmd.CommandType = CommandType.StoredProcedure;
            // set some parameters of the stored procedure
            cmd.Parameters.Add(new SqlParameter("@param3", SqlDbType.NVarChar)
            {
                Value = …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework asp.net-core

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

试图在一个表中而不是在另一个表中查找所有列——左连接不起作用

我正在尝试通过在 COLUMN_NAME = COLUMN_NAME 上的 Information_schema 上使用自联接来查找一个表中存在但另一个表中不存在的所有列,并且它是内部联接本身。我似乎无法弄清楚我的逻辑有什么问题:

select c.Column_name, c2.Column_name 
from information_schema.columns c
left outer join Information_Schema.Columns c2
ON c.COLUMN_NAME = c2.column_name
Where c.TABLE_NAME = 'Table1'
and c2.TABLE_NAME = 'Table2'
Run Code Online (Sandbox Code Playgroud)

我应该得到

Col1(a) | Col1(b)
Col2(a) | null
Col3(a) | Col3(b)
Col4(a) | Col4(b)
Col5(a) | null
Run Code Online (Sandbox Code Playgroud)

但相反我得到

Col1(a) | Col1(b)
Col3(a) | Col3(b)
Col4(a) | Col4(b)
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

sql t-sql information-schema left-join

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

SQL COUNT(Column)还计算错误的空值

我在我的项目中创建了一个详细信息,但是关于查询中的“ COUNT”有问题。它还计算空值。我想要的是,仅使用除此以外的值来计算该列,查询将不计算空列。

这是我的代码

SELECT COUNT(columnName) as TotalColumnValue FROM tblName

| columnName| 
|      value|
|           |
|      value|
|      value|
Run Code Online (Sandbox Code Playgroud)

因此结果计数将为3而不是4,因为该值为null。

先感谢您。

c# sql sql-server

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