string query =
"SELECT * FROM table1, table2 WHERE table1.Id = table2.fId";
...
using(IDataReader dataReader =
db.ExecuteReader(CommandType.Text, query))
..
string value = dataReader["table2.field"]; //dies
Run Code Online (Sandbox Code Playgroud)
我目前正在编写一些.NET代码,它涉及执行连接查询,然后使用DataReader访问返回的数据.我想知道是否可以使用某种前缀表示法访问返回行中的字段(参见上面的示例),而不必使用序号位置来访问行中的值(在两个表都包含重叠字段的情况下)名)?
有人能告诉我为什么会收到错误:消息207,级别16,状态1,过程ExtractPDP4FromPDP,行21无效的列名称'ContainsEX'.
执行以下存储过程时.
CREATE PROCEDURE ExtractPDP4FromPDP
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT PDP.*, LEFT(PDPCode,7) AS PDP7, PDP.Obsolete,
PDP.InvestorPDP, PDP.OnlineReport, PDP.ClientSpecific,
ContainsEX = CASE
WHEN(CHARINDEX(Left(PDPCode,5),'EX')>0) THEN 'True'
ELSE 'False'
END, PDP4 =
CASE
WHEN ContainsEX = 'True' THEN 'E' & SUBSTRING(pdpcode,5,3)
ELSE SUBSTRING(pdpcode,6,3)
END
FROM PDP
WHERE (((PDP.Obsolete)='False') AND ((PDP.InvestorPDP)='True') AND …Run Code Online (Sandbox Code Playgroud) 我有这个查询完美的工作:
SELECT *
FROM Customer
WHERE SacCode IN
(
SELECT SacCode
FROM SacCode
WHERE ResellerCorporateID = 392
ORDER BY SacCode
)
AND CustomerID IN
(
SELECT CxID
FROM CustAppointments
WHERE AppRoomID IN
(
SELECT AppRoomID
FROM ClinicRooms
WHERE ClinID IN
(
SELECT ClinID
FROM AppClinics
WHERE ClinDate >='20090101'
AND ClinDate <='20091119'
)
)
)
Run Code Online (Sandbox Code Playgroud)
但是,我需要看到ClinDate的值(在最后一个嵌套查询中),所以我被告知我需要使用JOINS重新编写查询.
我不知道怎么样,有人可以帮忙吗?
谢谢.
该函数mktime采用struct tmas参数.其中一个成员struct tm是tm_isdst.您可以将此设置为1表示冬季,0表示夏令时,如果您不知道,则设置为-1.
但是,如果在冬天,你尝试转换2009-09-01 00:00,mktime虽然目前是冬天,但是没有看到,你转换的日期是夏季.结果就是一个小时的休息时间.对我来说(GMT + 1)2009-08-31 22:00它应该是23:00.
有没有办法确定某个特定日期是在夏季还是冬季?是否有可能在冬季将夏季日期转换为utc?
(我试图回答这个问题时遇到了这个问题)
SET @Password = (
SELECT UserPassword,IsLocked
FROM [Authentication].[tblLogin]
WHERE UserName=@UserName)
Run Code Online (Sandbox Code Playgroud)
我试图获得两个值userpassword和islocked两个变量,以便在下一个查询中的同一个SP中使用.是否有可能或者我必须为此编写两个查询.在sql server中是否存在数组的概念
我试图在两个日期之间获取记录,但是当我运行SQL时,我收到以下错误:
操作数类型冲突:datetime2与int不兼容
SELECT M.Id, M.MTimeInt, M.Date, CAST(D.Name AS TEXT) as Name
FROM C
JOIN N ON C.N_Id=N.Id
JOIN M ON M.N_Id=N.Id
JOIN MDish ON MDish.M_Id=M.Id
JOIN D ON D.Id=MDish.D_Id
WHERE C.Id=110 AND M.Date BETWEEN 2012-05-28 AND 2012-06-08
Run Code Online (Sandbox Code Playgroud)
SQL看起来是正确的,但我似乎无法弄清楚它为什么抱怨,任何想法?
谢谢
我正在尝试将此文件上传到netbeans,但是我无法创建authors表并继续收到以下错误:
CREATE TABLE authors (
authorID INT NOT NULL GENERATED ALWAYS AS IDENTITY,
firstName varchar (20) NOT NULL,
lastName varchar (30) NOT NULL,
PRIMARY KEY (authorID)
);
INSERT INTO authors (firstName, lastName)
VALUES
('Paul','Deitel'),
('Harvey','Deitel'),
('Abbey','Deitel'),
('Dan','Quirk'),
('Michael','Morgano');
Run Code Online (Sandbox Code Playgroud)
[警告,错误代码1,064,SQLState 42000]您的SQL语法错误;检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第2行的“ GENERATED ALWAYS AS IDENTITY,firstName varchar(20)NOT NULL,lastName va”附近使用
[异常,错误代码1,064,SQLState 42000]您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第2行第2行第1列的'GENERATED ALWAYS AS IDENTITY,firstName varchar(20)NOT NULL,lastName va'附近使用
[警告,错误代码1,146,SQLState 42S02]表'books.authors'不存在
我已经在网上搜索了几个小时,但还没有找到答案!我是SQL的新手,如果这是一个重复的问题,我深表歉意。我正在使用MYSQL版本5.7.18
我需要执行这样的查询:
SELECT *,
(SELECT Table1.Column
FROM Table1
INNER JOIN Table2 ON Table1.Table2Id = Table2.Id
) as tmp
FROM Table2 WHERE tmp = 1
Run Code Online (Sandbox Code Playgroud)
我知道我可以采取一种解决方法,但我想知道这种语法是否可行,因为它(我认为)在Mysql中.
我有一个包含3列的表:代码,年份,百分比.
我需要在2009年返回具有最低(最小)百分比的代码.在此之后,我还需要代码的名称,在我创建的其他表中存在.
我只想使用CREATE VIEW,但我不想这样做.
我有三个名为:Student,StudentPayment和CreditAmount的表.我想展示一个学生欠学校多少钱的结果.在学生表中有一个名为TotalPayable的列,它是要支付给学校的总金额,在StudentPayment中有一个名为TotalPaid的列,它是每次付款时的总付款,在CreditAmount表中有一个名为CreditAmount的列.是学校给予学生的豁免金额.所以我提出了一个问题:
SELECT Student.TotalPayableAmount -
Sum(StudentPayment.TotalPaid, CreditAmount.WaiverAmount) AS Total_Due
FROM (Student INNER JOIN StudentPayment ON Student.ID = StudentPayment.ID)
INNER JOIN CreditAmount ON (Student.ID = CreditAmount.ID) AND (Student.ID = CreditAmount.StudentID)
GROUP BY Student.ID, Student.TotalPayableAmount, CreditAmount.WaiverAmount
Run Code Online (Sandbox Code Playgroud)
但它显示错误.
实际上我想制作TotalPaid和CreditAmount的SUM,然后想要从student表中的TotalPayable中减去它.请有人帮我这个.提前致谢.
sql ×8
mysql ×3
sql-server ×3
database ×2
.net ×1
c ×1
codeigniter ×1
dst ×1
join ×1
ms-access ×1
netbeans-8 ×1
php ×1
time ×1
utc ×1