我正在尝试为我的网站创建一个过滤器功能.我被告知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=?
此外,有没有人有任何筛选功能的示例查询?过滤器功能就像您在音乐网站中搜索基于流派或其他内容的歌曲一样.我提前为这个令人困惑的问题道歉,我找不到正确的问题要求这个.
我有下表:
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) 当我SELECT something FROM sometable有一个字段包含something列(类别)中拼写错误的单词时。如何在不修改数据库表本身的情况下更正它?例如,对于 中的每个事物something,如果事物的值等于/包含sophiscate,则将其选择为sophisticate。
我有一个名为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) 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,它应首先获取格局,而不是列出其他格局.我怎样才能做到这一点?我可以添加类别编号并制作"按顺序排列",但如果没有它,还有其他方法吗?
postgresql中不支持表名,列名或数据类型中的方括号吗?
在pgadmin中运行查询时出现以下错误:
CREATE TABLE [Test];
ERROR: syntax error at or near "["
Run Code Online (Sandbox Code Playgroud)
SQL状态:42601
我正试图在页面中显示我的数据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)
谢谢.
我有一个论坛,我接受来自用户的参数,并使用这些参数在我的DB上启动一个过程.
我有点卡住了,我需要做什么:
我的论坛:
<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) 我正在尝试通过在 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)
为什么是这样?
我在我的项目中创建了一个详细信息,但是关于查询中的“ COUNT”有问题。它还计算空值。我想要的是,仅使用除此以外的值来计算该列,查询将不计算空列。
这是我的代码
SELECT COUNT(columnName) as TotalColumnValue FROM tblName
| columnName|
| value|
| |
| value|
| value|
Run Code Online (Sandbox Code Playgroud)
因此结果计数将为3而不是4,因为该值为null。
先感谢您。
sql ×7
c# ×3
mysql ×3
sql-server ×3
asp.net-core ×2
php ×2
t-sql ×2
left-join ×1
postgresql ×1