对不起,这听起来很愚蠢,但我一直想知道在虚拟化时代之前多个数据库是如何自动化的。DB Adminsitrator 可以创建一个存储过程来从远程 RDBMS 获取数据并将它们选择到本地表中吗?
我的数据库中有一个名为 Group 的表,当我尝试处理它时出现错误:
SELECT GroupID,GroupName FROM Group
Run Code Online (Sandbox Code Playgroud)
它说 :
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'Group'.
Run Code Online (Sandbox Code Playgroud)
我知道 Group 是表的非法名称,但它是一个旧数据库,数据和关系太多,我无法重命名该表,有什么办法可以处理表吗?
我有一个 20 人的 Windows 组,该组中的所有 20 人都被撤销了对表中某些列的访问权限。现在我需要为此 Windows 组中的 2 个用户添加选择权限。我怎样才能做到这一点?我可以简单地将这些列上的选择直接授予这 2 个用户而不是 windows 组吗?
谢谢
我有一个包含产品 ID、类别 ID 和产品状态的表格。
+---------+-------------+-------------+
| id | cat_id | status |
+---------+-------------+-------------+
| 1 | 1 | 1 |
| 2 | 1 | 1 |
| 3 | 2 | 1 |
| 4 | 2 | 0 |
| 5 | 1 | 0 |
| 6 | 2 | 0 |
+---------+-------------+-------------+
Run Code Online (Sandbox Code Playgroud)
如何根据其状态进行分组,然后根据其类别 ID 计算其产品和总数?我期待这样:
+---------+-------------+-------------+-----------+
| cat_id | published | unpublished | totals |
+---------+-------------+-------------+-----------+
| 1 | 2 | 1 | 3 |
| …Run Code Online (Sandbox Code Playgroud) 如何选择所有带有%in 的记录?我认为这段代码不起作用。
SELECT column1, column2 FROM table WHERE column1 LIKE '%%%'
Run Code Online (Sandbox Code Playgroud)
%零、一个或多个字符%皮肤百分比谁能建议我它是如何工作的?我使用 MS-SQL 服务器。
提前致谢
我正在使用 MySQL 和 PhpMyAdmin,我有一个名为的表items- 结构如下;
+------+---------+------+---------+
| name | type | Null | Default |
+------+---------+------+---------+
| id | int(11) | No | None |
+------+---------+------+---------+
| year | int(4) | Yes | Null |
+------+---------+------+---------+
Run Code Online (Sandbox Code Playgroud)
在 PhpMyAdmin 中,我运行以下查询;
UPDATE `item` SET `item_publication_year` = '' WHERE `item_id` = '5'
Run Code Online (Sandbox Code Playgroud)
这将成功执行。
然后我运行这个查询;
SELECT * FROM `item` WHERE `item_id` = '5'
Run Code Online (Sandbox Code Playgroud)
这将成功执行并产生以下结果;
+-----+------+
| id | year |
+-----+------+
| 5 | 0 |
+-----+------+
Run Code Online (Sandbox Code Playgroud)
为什么是这个year领域0——不应该是 …
我有以下表格:
做了部门标识符,所以我们需要一些在employee.did但不在project.did中的东西
我想检索所有未通过截止日期的项目,并且其所有工作人员都属于不负责该项目的部门。
现在,我不知道如何检查 ddate 是否已结束(ddate 是截止日期,我不知道它是否已通过),以及如何在查询中表示它。
我将展示我到目前为止构建的查询:
SELECT Project.pname
from Project
FULL OUTER JOIN Employee
on Project.did <> Employee.did
AND ....
Run Code Online (Sandbox Code Playgroud)
(不知道如何检查 ddate 是否通过)是否有一个函数可以在 SQL 中显示日期进行比较(因此差异将是正的)或使用给定信息的任何技巧?
SQL 2011 规范支持CORRESPONDING子句,
功能 F301,“
CORRESPONDING在查询表达式中”:
这是什么功能?它是如何使用的?并且,它是否得到任何行业 RDBM 的支持?
我需要按两列的差异对表格进行排序
SELECT (first - second) AS dif
FROM table1
ORDER BY dif DESC
Run Code Online (Sandbox Code Playgroud)
但两列可以NULL。在这种情况下,它返回错误:
BIGINT UNSIGNED value is out of range
Run Code Online (Sandbox Code Playgroud)
这个错误的解决方案是使用IFNULL(col,0),但问题是,我需要dif是NULL,如果任一列是NULL
只是想知道我是否有类似的数据
name score
A 2
B 5
C 7
Run Code Online (Sandbox Code Playgroud)
我想要第三排
name score total
A 2 14
B 5 14
C 7 14
Run Code Online (Sandbox Code Playgroud)
我的意思是最终 - 我想找到不同总计中不同行条目的“z 分数”或百分位数。我只是不确定是否有一种简单的方法可以将行值与聚合值进行比较,除了通过子查询,例如
select A.name, A.score, B.total
from myTable A
left join
(select name, sum(score) from myTable group by name) B
on A.name = B.name
Run Code Online (Sandbox Code Playgroud)
这可以工作,但是两次查询同一个表来计算什么似乎效率很低。有没有我缺少的更简单的方法?