我无法在开发人员计算机上添加数据库.我正在运行win 10,visual studio 2015.我重新安装了SQL Server 2016两次,最后一次禁用防火墙它最终都给了绿色标记.
虽然我可以在VS2015 SQL Server对象资源管理器中创建数据库.我无法通过解决方案资源管理器将SQL数据库(S)添加到我的项目中.
每次我尝试将数据库添加到项目时,我都会收到事件527 SQLLocalDB 12.0 LocalDB父实例版本无效:MSSQL13E.LOCALDB
我尝试过Start> Run> cmd> sqlcmd -L,它显示了我的SQLserver
还确保它使用正确的端口作为(为什么我得到"无法连接到服务器 - 与网络相关或特定于实例的错误"?)
我认为SQL安装正确,但有些东西不允许我添加数据库(可能是因为某些根数据库??缺少或所以我不确定我不是SQL上的导出,但是因为错误说某些数据库接缝丢失了? ?
我需要替换字符串中的多个字符.结果不能包含任何"&"或任何逗号.
我目前有:
REPLACE(T2.[ShipToCode],'&','and')
Run Code Online (Sandbox Code Playgroud)
但是你如何将多个值放入?
非常感谢!
我是SQL Server中的JSON新手,无法弄清楚如何返回一个简单的字符串数组:
DECLARE @T TABLE ([value] NVARCHAR(MAX))
INSERT INTO @T ([value]) VALUES ('foo')
INSERT INTO @T ([value]) VALUES ('bar')
INSERT INTO @T ([value]) VALUES ('test')
INSERT INTO @T ([value]) VALUES ('ok')
SELECT [value]
FROM @T
FOR JSON PATH
Run Code Online (Sandbox Code Playgroud)
这将返回一个对象数组:
[{"value":"foo"},{"value":"bar"},{"value":"test"},{"value":"ok"}]
Run Code Online (Sandbox Code Playgroud)
我希望它返回:
["foo","bar","test","ok"]
Run Code Online (Sandbox Code Playgroud)
甚至可以这样做吗?
我正在使用数据库第一实体框架6.在将我的模式中的一些表更改为临时表后,我在尝试插入新数据时开始收到以下错误:
Cannot insert an explicit value into a GENERATED ALWAYS column in table '<MyDatabase>.dbo.<MyTableName>. Use INSERT with a column list to exclude the GENERATED ALWAYS column, or insert a DEFAULT into GENERATED ALWAYS column.
看起来EF正在尝试更新PERIOD由系统管理的列的值.
从EDMX文件中删除列似乎可以解决问题,但这不是一个可行的解决方案,因为每次从数据库重新生成模型时都会重新添加列.
c# sql-server temporal-database entity-framework-6 sql-server-2016
我遇到了一个挑战,我曾经多次遇到但从未能找到有效的解决方案.想象一下,我有一张大表,其中包含有关银行账户及其从借方到贷方的可能循环移动的数据:
AccountId DebitCredit AsOfDate
--------- ----------- ----------
aaa d 2018-11-01
aaa d 2018-11-02
aaa c 2018-11-03
aaa c 2018-11-04
aaa c 2018-11-05
bbb d 2018-11-02
ccc c 2018-11-01
ccc d 2018-11-02
ccc d 2018-11-03
ccc c 2018-11-04
ccc d 2018-11-05
ccc c 2018-11-06
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我想将子分区号分配给AccountId和DebitCredit的组合,其中每次DebitCredit移位时分区号都会递增.换句话说,在上面的示例中,我希望得到以下结果:
AccountId DebitCredit AsOfDate PartNo
--------- ----------- ---------- ------
aaa d 2018-11-01 1
aaa d 2018-11-02 1
aaa c 2018-11-03 2
aaa c 2018-11-04 2
aaa c 2018-11-05 2
bbb d 2018-11-02 1
ccc c 2018-11-01 1 …Run Code Online (Sandbox Code Playgroud) 我们正在通过SSAS多维数据集直接查询实现Power BI。由于某些原因,SSAS Power BI的性能极慢,但是使用SSDT SSAS Application或Power View或Excel则要快得多。
我读到Power BI通过将MDX转换为DAX查询来转换SSAS多维模型。有什么方法可以加快针对SSAS的Power BI查询,或者直接使用MDX查询?
我们正在应用SSAS多维模型。
sql-server ssas sql-server-data-tools powerbi sql-server-2016
有人可以举例说明如何使用C#ASP.Net Core Web Api项目中的ADO.Net将JSON类型作为参数传递给SQL Server 2016存储过程吗?我想在C#ASP.Net Core Web Api中看到SQL Server 2016存储过程的示例和JSON类型的传递.
我需要从一个查询创建一个JSON输出,该查询使用具有一对多关系的两个表之间的内部连接.
我希望将辅助表的值嵌套为主表的数组属性.
请考虑以下示例:
DECLARE @Persons AS TABLE
(
person_id int primary key,
person_name varchar(20)
)
DECLARE @Pets AS TABLE
(
pet_owner int, -- in real tables, this would be a foreign key
pet_id int primary key,
pet_name varchar(10)
)
INSERT INTO @Persons (person_id, person_name) VALUES
(2, 'Jack'),
(3, 'Jill')
INSERT INTO @Pets (pet_owner, pet_id, pet_name) VALUES
(2, 4, 'Bug'),
(2, 5, 'Feature'),
(3, 6, 'Fiend')
Run Code Online (Sandbox Code Playgroud)
并查询:
DECLARE @Result as varchar(max)
SET @Result =
(
SELECT person_id as [person.id],
person_name as …Run Code Online (Sandbox Code Playgroud) 我需要从Owner表中找到每个宠物的正确拥有者
为了正确地将每个宠物与所有者匹配,我需要使用一个特殊的匹配表,如下所示:
因此,对于PetID = 2的宠物,我需要找到一个基于三个字段匹配的所有者:
Pet.Zip = Owner.Zip
and Pet.OwnerName = Owner.Name
and Pet.Document = Owner.Document
Run Code Online (Sandbox Code Playgroud)
在我们的示例中,它将像这样工作:
select top 1 OwnerID from owners
where Zip = 23456
and Name = 'Alex'
and Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)
如果找不到OwnerID,则需要根据2个字段进行匹配(不使用优先级最高的字段)
在我们的例子中:
select top 1 OwnerID from owners where
Name = 'Alex'
and Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)
由于没有找到记录,我们需要匹配较少的字段.在我们的例子中:
select top 1 OwnerID from owners where Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)
现在,我们找到了OwnerID = 6的所有者.
现在我们需要更新ownerID = 6的宠物,然后我们可以处理下一个宠物.
我现在唯一能做到这一点的方法是循环或游标+动态SQL.
是否有可能在没有循环+动态sql的情况下实现这一点?也许STUFF + Pivot不知何故?
sql小提琴:http://sqlfiddle.com/#!18/10982/1/0
样本数据:
create table …Run Code Online (Sandbox Code Playgroud) 基本上我想要一个计算字段,当VeganOption = 1时递增1,当VeganOption = 0时递增为零
我尝试使用以下查询,但使用分区后继续增加零.我有点卡在这个上面.
SELECT [UniqueId]
,[Meal]
,[VDate]
,[VeganOption]
, row_number() over (partition by [VeganOption] order by [UniqueId])
FROM [Control]
order by [UniqueId]
Run Code Online (Sandbox Code Playgroud)
表数据:
CREATE TABLE Control
([UniqueId] int, [Meal] varchar(10), [VDate] datetime, [VeganOption] int);
INSERT INTO Control ([UniqueId], [Meal], [VDate], [VeganOption])
VALUES
('1', 'Breakfast',' 2018-08-01 00:00:00', 1),
('2', 'Lunch',' 2018-08-01 00:00:00', 1),
('3', 'Dinner',' 2018-08-01 00:00:00', 1),
('4', 'Breakfast',' 2018-08-02 00:00:00', 1),
('5', 'Lunch',' 2018-08-02 00:00:00', 0),
('6', 'Dinner',' 2018-08-02 00:00:00', 0),
('7', 'Breakfast',' 2018-08-03 00:00:00', …Run Code Online (Sandbox Code Playgroud)