我正在使用Access尝试获取SQL Server 2008中的表的一些链接.
我已经在SSMS for SQL Server的安全性下创建了一个用户名,我已将其映射到我需要的数据库下的用户.我还给了那个用户一个我需要的默认数据库.
当我尝试通过ODBC连接时,我没有看到正确的表.我所看到的是一堆Sys表.有谁知道我做错了什么?
这是主要用户的创建:
/* For security reasons the login is created disabled and with a random password. */
/****** Object: Login [lomuser] Script Date: 10/22/2010 08:14:03 ******/
CREATE LOGIN [lomuser] WITH PASSWORD=N'µ''ØÑëOº\¾dõMÐàæfÄ%[RríÜ2 y', DEFAULT_DATABASE=[LOMDATABASE], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
ALTER LOGIN [lomuser] DISABLE
GO
Run Code Online (Sandbox Code Playgroud)
以下是特定用户对特定数据库(顶级用户映射到的用户)的创建,以及它们具有相同名称的FYI:
USE [LOMDATABASE]
GO
CREATE USER [lomuser] FOR LOGIN [lomuser] WITH DEFAULT_SCHEMA=[dbo]
GO
Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server SSMS输出查询到空格分隔的文本文件.除了一个例外,它工作正常.在文件的底部,它打印一条消息,显示它打印的行数,就像查询路由到结果网格时一样SSMS:
id sales region
001 100,000 North
001 100,000 North
001 100,000 North
001 100,000 North
001 100,000 North
... ... ...
(78482 row(s) affected)
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为有多个文件,它们被读入另一个程序,此消息导致错误.
我查看了输出和查询选项,但没有看到任何解决方法.
有什么建议?
我正在使用SQL Server和SSMS 2008.我在正确的数据库中.
对不起,如果这很明显.我有以下表没有PK开始,所以我可以轻松地进行更改,直到该过程适合我
CREATE TABLE Staging.Country_code
(
Country varchar(200) NOT NULL,
ISO_2 varchar(2) DEFAULT 'Not Available',
ISO_3 varchar(3) DEFAULT 'Not Available',
ISO_numeric int
)
GO
Run Code Online (Sandbox Code Playgroud)
我成功插入以下内容:
INSERT INTO Staging.Country_code (Country, ISO_2, ISO_3, ISO_Numeric)
SELECT Country, ISO_2, ISO_3, ISO_Numeric
FROM RawStaging.Country_code
WHERE Country IS NOT NULL
GO
Run Code Online (Sandbox Code Playgroud)
现在我想插入其他项目:
首先我试过:
INSERT INTO Staging.Country_code (Country)
SELECT DISTINCT
Staging.allYears.Country
FROM
Staging.allYears
WHERE
Staging.allYears.Country NOT IN (SELECT DISTINCT Staging.Country_code.Country
FROM Staging.Country_code)
GO
Run Code Online (Sandbox Code Playgroud)
并得到错误:
消息8152,级别16,状态14,行1
字符串或二进制数据将被截断.该语句已终止.
然后我尝试了简单的尝试(包括尝试转换为varchar(200)单个文本项以将其插入Country列中):
INSERT INTO Staging.Country_code (Country, …Run Code Online (Sandbox Code Playgroud) 我试图选择一个布尔表达式.
这不起作用:
select *,
(Column = 'x') as isX
from MyTable;
-- Incorrect syntax near '='.
Run Code Online (Sandbox Code Playgroud)
但这样做:
select *,
IIF(Column = 'x', 1, 0) as isX
from MyTable;
Run Code Online (Sandbox Code Playgroud)
我认为第一个解决方案应该有效.
有比使用更优雅的解决方案IIF吗?
我开始寻找产品更新,它只是扫描永远不会停止等待2个小时,没有所以我跳过这一步,然后转到下一个是安装设置文件,但它只是说"未启动"和绿色条只是移动和移动,没有任何错误或任何事情发生
假设我有一个名为Car的表,其中包含Age和CreationDate列.
我现在想要订购,以便所有年龄大于0的汽车先排序,然后按creationDate按降序排序.因此,如果汽车的年龄是4,6,7例如只是它是大于0.这意味着,基本上所有行通过CreationDate排序,除了所有的汽车行驶的年龄大于0是没关系排序第一.
例如,下面的代码不起作用,因为汽车首先按年龄排序,并忽略实际的CreationDate.(我不想反转它并首先使用CreationDate,因为那时年龄> 0的汽车不会首先列出).
SELECT * FROM Car ORDER BY Age, CreationDate DESC
Run Code Online (Sandbox Code Playgroud)
任何帮助或输入都非常感谢,谢谢!
我试图使用select语句创建一个表,但我收到以下错误.
注意:我在没有创建的情况下运行了select语句,但它运行正常
CREATE TABLE shipments_temp AS
(SELECT Concat('W', RIGHT([calendar year week], 2), '-',
LEFT([calendar year week], 4)),
[market],
[base product code],
Sum([sell-in history]) AS Shipments
FROM apac_092016_092018_shipments
GROUP BY Concat('W', RIGHT([calendar year week], 2), '-',
LEFT([calendar year week], 4)),
[market],
[base product code]);
Run Code Online (Sandbox Code Playgroud)
我有这样的行(大约120000),我的表有3列,如a,b,c.
a b c
--- --- ---
hello world 10
hey you 80
world hello 20
my day 15
merhaba dunya 40
life good 75
good day 70
thank you 15
it is 40
dunya merhaba 20
is it 80
Run Code Online (Sandbox Code Playgroud)
我想在前两列(a和b)中找到反向值,并在c列中求和它们的值.
结果应如下所示:
a b c
--- --- ---
hello world 30
hey you 80
my day 15
merhaba dunya 60
good day 70
thank you 15
it is 120
Run Code Online (Sandbox Code Playgroud) 我已经安装了SQL Server 2018,并且想要安装Microsoft SQL Server Management Studio。在安装SSMS时出现以下问题。
设置被阻止某些东西阻止了设置的继续
单击此处获取日志文件
只能通过安装匹配语言的软件包来升级SSMS。请使用匹配的安装程序版本,或卸载当前版本的SSMS,然后再次运行SSMS安装程序
我已经手动删除了下面的文件 C:\Program Files (x86)\Microsoft SQL Server\140\Tools
并且已经多次重启计算机。
仍然出现相同的问题。
我应该如何解决这个问题?请帮我。
我有访问大型MSSQL DB的权限。该数据库有很多表,但是其中很大一部分是空的。如何查询数据库模式以选择表名(存在任何行)?(实现此功能后,我只想从具有一些数据的这些表中创建ERD)。我没有发现任何相关问题。