我相信这只是一个简单的连接statemnet.我最近没有使用SQL,似乎忘记了如何做到这一点.我所拥有的是一个列中包含少量列的项目,它引用另一个表格作为该字段的名称.像这样:
id, name, effect1, effect2, effect3, effect4
Run Code Online (Sandbox Code Playgroud)
效果可以引用另一个表只拥有a,id和name列.我正在尝试做的是运行一个查询,为每个效果提取这些名称.
就像是:
SELECT i.name,e.name AS effect1, e.name AS effect2, e.name AS effect3,
e.name AS effect4
FROM item i, effects e
WHERE i.effect1 = e.name
AND i.effect2 = e.name
AND i.effect3 = e.name
AND i.effect4 = e.name
Run Code Online (Sandbox Code Playgroud)
所以,假设我有一个具有如下值的项目:
Toast, 1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)
效果是:
1, burned
2, untoasted
3, wet
4, texas
Run Code Online (Sandbox Code Playgroud)
我想要它显示 toast, burned, untoasted, wet, texas
和想法?
更新:
Table items
id, name, weight, value, effect1,effect2,effect3,effect4
Table …Run Code Online (Sandbox Code Playgroud) 如何使用jOOQ编写以下SQL?
SELECT *
FROM food_db_schema.tblCategory AS t1
LEFT OUTER JOIN food_db_schema.tblCategory AS t2 ON t1.category_id = t2.parent_id
WHERE t2.parent_id IS NULL
AND t1.heartbeat = "ALIVE";
Run Code Online (Sandbox Code Playgroud)
数据库是mySQL
我想使用php从我的SQL表中请求5个随机行.例如,我需要:
mysql_query("SELECT * FROM catalogue >> not sure what goes here << LIMIT 5");
Run Code Online (Sandbox Code Playgroud) 我想知道这在sql中几乎是可能的(使用php作为服务器端),其中你有一个值数组(数字),你尝试根据该数组中的值检索数据.
我有一个SQL表:
posts(
id int(11) primary key,
posts varchar(140),
user_id int(11) foreign key
);
Run Code Online (Sandbox Code Playgroud)
我现在写一个查询来检索'帖子':
$query="SELECT * FROM posts WHERE user_id=(**Array of select user_id's**)";
Run Code Online (Sandbox Code Playgroud)
是否有任何sql内置函数来检查数组中的值?或者我应该使用PHP吗?
我实际上正在尝试实现我们关注的人员帖子的推特模型.
我在使用MySQL查询时遇到了一些麻烦.
我想从表中选择所有元素,从某个列进行分组,但只检索组中所有元素与WHERE子句匹配的元素.
例如,我有一个名为"pets"的表,有3列:
Id| animal | name
1 | dog | marge
2 | dog | homer
3 | cat | marge
4 | cat | lenny
5 | rabbit | homer
5 | rabbit | carl
6 | rabbit | marge
Run Code Online (Sandbox Code Playgroud)
而且我想挑选他所有小组成员都有名字的所有动物('本垒打','巴特','marge','lisa','maggie')
如果你无法理解我的问题,请告诉我.谢谢!
我目前有一些带回标签的sql.他们应该有不同的ID,但他们不....所以我目前的数据是这样的:
Microsoft | GGG | 1 | 167
Microsoft | GGG | 1 | 2
Microsoft | GGG | 1 | 1
Run Code Online (Sandbox Code Playgroud)
我想做的是只返回一行,最后一列连接成一个分隔列表,如:
Microsoft | GGG | 1 | 167, 2, 1
Run Code Online (Sandbox Code Playgroud)
我正在使用mySQL 5.
我正在尝试运行尝试从系统表中选择的存储过程时遇到与权限相关的问题.基本上我试图通过直接从sys.dm_tran_current_transaction表中获取我需要的数据来解决SQL Server 2012中sp_bindtoken系统存储过程的弃用问题.
我发现的一个解决方案是:
这种方法似乎在SQL Server 2008 R2中运行良好.但是在SQL Server 2012中,即使脚本看起来运行正常,在运行时,存储过程也会在尝试从上面的系统表中进行选择时失败并显示权限错误.
USE OurDatabase
GO
CREATE CERTIFICATE OurDatabaseProcCert
FROM FILE = 'C:\Path\To\OurDatabaseProcCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Path\To\OurDatabaseProcCert.pvk',
ENCRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd',
DECRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd');
GO
USE master
GO
CREATE CERTIFICATE OurDatabaseProcCert
FROM FILE = 'C:\Path\To\OurDatabaseProcCert.cer'
WITH PRIVATE KEY (
FILE = 'C:\Path\To\OurDatabaseProcCert.pvk',
ENCRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd',
DECRYPTION BY PASSWORD = '$0m3$tr0ngp@$$w0rd');
GO
CREATE LOGIN OurDatabaseServerLogin
FROM CERTIFICATE OurDatabaseProcCert …Run Code Online (Sandbox Code Playgroud) sql sql-server stored-procedures database-permissions sql-server-2012
在简单查询中,GROUP BY字段的顺序与最终结果没有区别(忽略开发人员的易读性).
EG:SELECT COUNT(*) FROM People GROUP BY Age, Gender将产生与GROUP BY字段被翻转相同的结果.
一般来说,在什么条件下,GROUP BY字段的这种明显的可交换属性会崩溃?
我在这里寻找一般规则(EG:"任何包含依赖于其中一个分组字段的子表达式的表达式")
我很难想出一个关于排序重要的例子 - 但我的直觉告诉我它在某些情况下确实如此.
我想在从SQL数据库中读取数据时通知用户,我决定使用进度条创建一个表单,但它不起作用 - 可能是因为需要一个线程.我想以编程方式创建表单
ProgressBar pb = new ProgressBar();
pb.MarqueeAnimationSpeed = 30;
pb.Style = ProgressBarStyle.Marquee;
pb.Dock = DockStyle.Fill;
progressForm.ClientSize = new Size(200, 50);
progressForm.FormBorderStyle = FormBorderStyle.FixedDialog;
progressForm.StartPosition = FormStartPosition.CenterScreen;
progressForm.Controls.Add(pb);
progressForm.ControlBox = false;
progressForm.TopMost = true;
progressForm.Show();
//do data processes here (all queries and executes)
progressForm.close();
Run Code Online (Sandbox Code Playgroud)
如何修改上面的代码以实现我的既定目标?
编辑:顺便说一句,我想在我的项目中的每个数据函数中使用此进度条表单.例如:fillGrid,runQuery ..
@Will非常感谢你的回答.我的意思是我如何使用类的函数,例如我的gridFill函数在该连接类中:
class ConnectionClass
{
public static SqlConnection connection = new SqlConnection();
public string sorgu;
public static string server;
public static string userId;
public static string catalog;
public static string password;
public static …Run Code Online (Sandbox Code Playgroud) 到目前为止,我总是使用类似的结构从DB获取数据并填充DataTable
public static DataTable GetByID(int testID)
{
DataTable table = new DataTable();
string query = @"SELECT * FROM tbl_Test AS T WHERE T.testID = @testID";
using (SqlConnection cn = new SqlConnection(Configuration.DefaultConnectionString))
{
SqlCommand cmd = new SqlCommand(query, cn);
cmd.Parameters.Add("@testID", SqlDbType.Int).Value = testID;
cn.Open();
table.Load(cmd.ExecuteReader());
}
return table;
}
Run Code Online (Sandbox Code Playgroud)
现在我在构建分析中看到了一些警告:
TestService.cs(37):CA2000:Microsoft.Reliability:在方法'TestService.GetByID(int)'中,对象'table'不沿所有异常路径放置.在对对象'table'的所有引用都超出范围之前,调用System.IDisposable.Dispose.
TestService.cs(42):CA2000:Microsoft.Reliability:在方法'TestService.GetByID(int)'中,在对对象'cmd'的所有引用都超出范围之前,调用对象'cmd'上的System.IDisposable.Dispose.
我应该更改我的代码吗?
public static DataTable GetByID(int testID)
{
DataTable table = new DataTable();
string query = @"SELECT * FROM tbl_Test AS T WHERE T.testID = @testID";
using (SqlConnection cn = …Run Code Online (Sandbox Code Playgroud)