2部分问题..
第1部分:所以这些WHERE子句给我正确的数据:
WHERE { [Time].[Month].&[2011-06-01T00:00:00] }
OR
WHERE { StrToMember("[Time].[Month].&[2011-06-01T00:00:00]") }
Run Code Online (Sandbox Code Playgroud)
但是这会返回nulls:
WHERE { StrToMember("[Time].[Month].&[" + Format(Now(), "yyyy-mm-") + "01T00:00:00]") }
Run Code Online (Sandbox Code Playgroud)
我也尝试了yyyymm格式.我正在尝试使用当前月份等.
第2部分(更重要):我如何验证格式函数返回的内容?如何在MDX查询分析器中执行此操作:
SELECT
Format(Now(), "yyyymm")
Run Code Online (Sandbox Code Playgroud)
我只需要执行从商店中选择w/out的功能..有没有办法测试这些功能?
UPDATE
弄清楚第1部分
StrToMember("[Time].[Month].&[" + Format(Now(), "yyyy-MM") + "-01T00:00:00]")
Run Code Online (Sandbox Code Playgroud)
它是MM对mm ..如果我能够测试该函数的输出是什么,这将很容易被捕获..
当我更新某个表的值时,列级联更新到许多其他表(并且其他表具有强制在该列上引用完整性的外键)并取消操作?整个操作是作为交易处理还是回滚?我正在从Sql Management Studio取消.
你好,下午好.我正面临着我支持的系统的问题.我能够构建"宏",它可以将sql视图拉到文档.问题是这些视图的列不包装在文档上.如果某行包含太多文本,则会将其他列推出.为了解决这个问题,我正在尝试构建一个与我的视图一起使用的函数,它将通过循环遍历每一行来强制执行换行,并创建一个额外的行来保存达到文本限制的某些列的文本.我有一些有用的东西,但它有时非常慢.有没有人对如何优化这个有任何想法?
(
)
RETURNS @medlist2 TABLE (uniq_id UNIQUEIDENTIFIER, enterprise_id CHAR(5), practice_id CHAR (4), person_id UNIQUEIDENTIFIER,
enc_id UNIQUEIDENTIFIER, medication_name VARCHAR (70), sig_desc VARCHAR (512), start_date VARCHAR(10), row_num INT)
AS
BEGIN
DECLARE @medlist TABLE (uniq_id UNIQUEIDENTIFIER, enterprise_id CHAR (5), practice_id CHAR (4), person_id UNIQUEIDENTIFIER,
enc_id UNIQUEIDENTIFIER, medication_name VARCHAR (70), sig_desc VARCHAR (512), start_date DATETIME, processed INT)
DECLARE @medicationName VARCHAR (70)
DECLARE @sigDesc VARCHAR (512)
DECLARE @startDate VARCHAR (10)
DECLARE @uniqID UNIQUEIDENTIFIER
DECLARE @enterpriseID CHAR (5)
DECLARE @practiceID CHAR (4)
DECLARE @personID UNIQUEIDENTIFIER …Run Code Online (Sandbox Code Playgroud) 我坚持使用SQL查询.
请考虑下表:
Table DG_GAME_ROUNDS
RoundId int
GameId int
RoundNumber int
Value varchar(20)
Guess varchar(20)
Answer varchar(20)
Correct bit
Minutes int
Seconds int
Milliseconds int
Run Code Online (Sandbox Code Playgroud)
此表包含游戏回合的结果.现在,有时候你可以用手指对游戏做出回答,然后猜测时间为35或甚至0毫秒.这些答案扭曲了我的游戏结果,我想删除它们.
我想弄清楚猜测至少200毫秒长的平均猜测时间.因此,如果一个游戏有五轮,猜测为455,400,340,30,300.我想忽略30并平均剩下的四个值并获得374的平均猜测时间.不降低30的平均猜测时间将是305.
我的问题是我正在尝试加入两个子查询,并且我收到一条错误消息,指出"on"语句周围存在问题.我认为允许加入子查询.
select vt.gameid, vt.totalms, vt.numofguesses, vt.correctguesses
from
(select gr.gameid
, sum((gr.seconds*1000) + gr.milliseconds) as totalms
, count(gr.roundid) as numofguesses
, sum(cast(gr.correct as int)) as correctguesses
from work_tables.dbo.dg_game_rounds gr (nolock)
group by gr.gameid
) vt
inner join (
select vtIII.gameid, vtIII.avgtime
from
(
select vtII.gameid, sum(vtII.avgms)/count(vtII.avgms) as avgtime
from (
select gr.gameid, gr.seconds * 1000 …Run Code Online (Sandbox Code Playgroud) 我正在使用这个脚本
select * from mxiv_sentries where
attrname='mskeyvalue' and mskey in
(select mskey from mxiv_sentries where attrname='MXREF_MX_PRIVILEGE' and searchvalue='672081'
and mskey not in
(select Default_login from mxman_rt_u.VPN))
Run Code Online (Sandbox Code Playgroud)
这是两个不同的表,其中Default_login是字母数字,varchar和mskey是INT中的数字.因此,当我执行此脚本时,我最终得到错误:
当将varchar值'A15271'转换为数据类型int时,消息245,级别16,状态1,行1转换失败.
你能否建议如何获得正确的结果谢谢
对于会计年度参数,我将2010,2011和2012作为选项,但无论在哪一年,我选择"提交时间"列仍显示2011年日期.我希望例如,如果我选择2010年,则仅显示2010年提交的数据,并且同样适用于所有年份.有帮助吗?
set @sqlstr = '
Select
[SchoolName] As [School Name],
Status= CASE WHEN PS.PrivateSchoolID = Ed.PrivateSchoolID THEN ''Submitted''
ELSE ''Not Submitted''END,
[Submitted By]= CASE WHEN PS.PrivateSchoolID = Ed.PrivateSchoolID
THEN [FirstName] + '' '' + [LastName] ELSE NULL END,
[Submitted On]= CASE WHEN PS.PrivateSchoolID = Ed.PrivateSchoolID
THEN Convert( Varchar(10), Ed.CreatedDate, 101 ) ELSE NULL END
From EnrollmentDateSchool Ed Right Outer Join
(select FP.FiscalYear, PrivateSchool.* from PrivateSchool
INNER JOIN FiscalYearPrivateSchool FP
ON PrivateSchool.PrivateSchoolID = FP.PrivateSchoolID) PS
ON Ed.PrivateSchoolID = PS.PrivateSchoolID Left Outer …Run Code Online (Sandbox Code Playgroud) 我的数据库中有一列存储信用卡号.将它保存在数据库中大约两周后,我希望能够运行查询来更新所有信用卡条目并屏蔽它们 - 仅显示最后四位数字.到目前为止,我找不到办法解决这个问题是不成功的 - 如果信用卡号码的长度不一样怎么办?如果我能掩盖前12位数字会更好,除非它以3开始,然后仅掩盖前11位.
任何人都可以帮助查询
我想从表中的startdate到enddate逐个获取记录,并从表中逐个更新记录
就像我有一张桌子Temp
ID DATE Status
1 2011-09-10 WO
2 2011-09-11 WO
3 2011-09-12 NULL
4 2011-09-13 NULL
5 2011-09-14 NULL
6 2011-09-15 H
Run Code Online (Sandbox Code Playgroud)
现在我需要输出如下,当我使用给出startDate和enddate然后Status有NULL值应该得到'L'
ID DATE Status
1 2011-09-10 WO
2 2011-09-11 WO
3 2011-09-12 L
4 2011-09-13 L
5 2011-09-14 L
6 2011-09-15 H
Run Code Online (Sandbox Code Playgroud) 我去桌子了。
TABLE 1: [..fields..] [CATEGORIE] [..fields..]
TABLE 2: [..fields..] [ID] [CATEGORIE] [..fields..]
我想连接有点特殊,并尝试这样:
SELECT [..other fields..], CATEGORIE, (SELECT ID FROM TABLE2 WHERE TABLE2.CATEGORIE = TABLE1.CATEGORIE) FROM TABLE1;
我想在主查询的列中有子查询的ID
这样([]代表列)
[resultfield1] [resultfield2] [resultfield3] [ID1,ID2,ID3,ID4,...]
有没有办法负担得起?
非常感谢您的帮助,
提前致谢
我正在从第三方来源的数据上传和更新我的数据库.不幸的是,来自第三方数据源的数据中有许多重复记录.
我在这里看了几个关于SO的问题,但是所有这些问题似乎都是有一个ID列,它将一行与另一行区分开来.
就我而言,没有ID列.例如
State City SubDiv Pincode Locality Lat Long
Orissa Koraput Jeypore 764001 B.D.Pur 18.7743 82.5693
Orissa Koraput Jeypore 764001 Jeypore 18.7743 82.5693
Orissa Koraput Jeypore 764001 Jeypore 18.7743 82.5693
Orissa Koraput Jeypore 764001 Jeypore 18.7743 82.5693
Orissa Koraput Jeypore 764001 Jeypore 18.7743 82.5693
Run Code Online (Sandbox Code Playgroud)
是否有一个简单的查询,我可以运行删除所有重复记录并保留一条记录作为原始记录?所以在上面的例子中我想从表中删除3,4,5行.
我不确定这是否可以使用简单的sql语句完成,但想知道其他人的意见如何做到这一点
sql-server-2005 ×10
sql-server ×7
sql ×4
t-sql ×2
.net ×1
credit-card ×1
join ×1
mask ×1
mdx ×1
regex ×1
ssas ×1