CustID Name ReferredBy
1 Neeta Sayam
2 Dolly Dilly 1
3 Meena Kimi 2
Run Code Online (Sandbox Code Playgroud)
找到其他人推荐的所有客户的名称.
输出应该是dolly dilly和meena kimi.
我已经成功地找到了通过查询重新评估其他人的客户
SELECT c1.name FROM Customer c1 JOIN Customer c2 ON c1.custid=c2. ReferredBy
Run Code Online (Sandbox Code Playgroud) 我想在R中使用dplyr但无法实现经典的自联接问题.
输入:带有的数据帧empid,empname和managerid
输出:managername每个的数据帧empid
library(dplyr)
empid = c(1, 2, 3, 13, 11, 9, 8, 7, 3)
empname = paste0("emp", empid)
managerid = c(0, 0, 1, 2, 2, 1, 3, 2, 1)
df = data.frame(empid, empname, managerid)
df
# empid empname managerid
# 1 emp1 0
# 2 emp2 0
# 3 emp3 1
# 13 emp13 2
# 11 emp11 2
# 9 emp9 1
# 8 emp8 3
# …Run Code Online (Sandbox Code Playgroud) 如何在SQL Server中进行递归自联接?我有这样一张桌子:
TableID | ParentID 1 | NULL 2 | 1 3 | 1 4 | 3 5 | NULL 6 | 4 7 | 6
我希望得到以下结果,基于给出TableID所有ParentsID相关的TableID,让我们说我想得到所有的父母TableID = 6:
TableID 6 4 3 1
我坚持这个,我不知道如何在SQL查询中得到结果...希望告诉我SQL查询获取以前的数据
我想为以下加入提供一些帮助.我有一个表(大约有2000万行),包括:
MemberId(主键)| Id(主键)| TransactionDate | 平衡
我想在一个查询中为所有客户获取最新的余额.我知道我可以做这样的事情(我只是从记忆中写下来的).但这种方式非常慢.
SELECT *
FROM money
WHERE money.Id = (SELECT MAX(Id)
FROM money AS m
WHERE m.MemberId = money.MemberId)
Run Code Online (Sandbox Code Playgroud)
还有其他(更快/更智能)的选择吗?
注意:这个问题对"程度"有一个模棱两可的概念.我已经得到了答案.
这些天我正在努力解决下面这样的问题:你不能用一些编程语言编写函数; 仅使用RAW SQL.
给定一个articles包含2列的表:article_id和tag_name
article_id | tag_name
---------------------------
1 C++
1 java
1 python
2 ruby
2 js
3 ruby
4 java
4 python
Run Code Online (Sandbox Code Playgroud)
还有一个名为'tag_relations'的空表,结构如下:
tag1 | tag2 | degree
-----------------------------------
Run Code Online (Sandbox Code Playgroud)
现在,问题来了:
对于给定的数据,输出应该是这样的(我不确定程度是多少,而且问题没有提到这一点,因此,Gordon Linoff和Jonathan Leffler的答案对我来说都是正确的.):
tag1 | tag2 | degree
-----------------------------------
java C++ 2
java python 4
ruby js 2
Run Code Online (Sandbox Code Playgroud)
更新的附加信息
注1:此处问题没有描述"学位".但是我认为这是衡量2个标签之间关系的一个指标.由于'java'和'C++'有值:
article_id | tag_name
---------------------------
1 C++
1 java
Run Code Online (Sandbox Code Playgroud)
所以程度= 2
并为'java'和'python'
article_id | tag_name
---------------------------
1 java
1 python
4 …Run Code Online (Sandbox Code Playgroud) 我试图计算一段时间内男性赛马(Sire)的所有后代赢得的金额.由Sire列出的最赚钱金额.我运行查询并得到结果我有一个问题,我不能显示公牛名称,只有他们的ID.
SELECT `horses`.`SireID` AS `SireID` , `horses`.`HorseName` AS `Sire Name`,
COUNT( `runs`.`HorsesID` ) AS `Runs` ,
COUNT(
CASE WHEN `runs`.`Finish` =1
THEN 1
ELSE NULL
END ) AS `Wins` ,
CONCAT( FORMAT( (
COUNT(
CASE WHEN `runs`.`Finish` =1
THEN 1
ELSE NULL
END ) / COUNT
( `runs`.`TrainersID` ) ) *100, 0 ) , '%'
) AS `Percent` ,
FORMAT( SUM( `runs`.`StakeWon` ) , 0 ) AS `Stakes`
FROM runs
INNER JOIN horses ON runs.HorsesID = horses.HorsesID
INNER JOIN races …Run Code Online (Sandbox Code Playgroud) 我有一个instructors包含以下结构/数据的表:
-----------------
|id | name |
-----------------
|1 | saad |
|2 | imran |
-----------------
Run Code Online (Sandbox Code Playgroud)
我想在不返回重复结果的情况下对同一个表进行连接。
如果我做一个简单的连接,查询返回 4 行[saad, saad], [saad, imran], [imran, imran], [imran, saad]。
如果我添加一个 where 子句,它会返回 2 行[saad, imran], [imran, saad]。
但是,我只想返回 1 行,(即,如果[saad, imran]已经返回,则查询不应返回[imran, saad])。
到目前为止,这是我的查询:
SELECT DISTINCT
i1.name AS name1,
i2.name AS name2
FROM
instructors i1, instructors i2
WHERE
i1.name != i2.name
ORDER BY
name1, name2
Run Code Online (Sandbox Code Playgroud) 任何人都可以给我查询以获取孩子的名字和他的祖父的名字例如 - 如果我有一张表关系在我有孩子和父亲列那么我将如何得到祖父,
我可以通过使用连接轻松获得父亲的名字,但对于祖父,我需要进行 2 次连接,所以任何人都可以帮助我解决这个问题
马赫什
对不起,如果我的问题没有多大意义。让我解释。
我有一个现有的 SQL 查询,如下所示:
SELECT
T1.Portfolio, T1.ValueDate as CurrentValueDate,
T1.DifferencePercent as CurrentDP,
T2.ValueDate as PreviousValueDate,
T2.DifferencePercent as PreviousDP,
CASE
WHEN T1.DifferencePercent = T2.DifferencePercent
THEN 1
ELSE 0
END as IsChange
FROM
[AccountingData].[dbo].[NAVRec_NAVSummary] T1
JOIN
[AccountingData].[dbo].[NAVRec_NAVSummary] T2 ON T1.Portfolio = T2.Portfolio AND T2.ValueDate = DATEADD(DAY, CASE DATENAME(WEEKDAY, T1.ValueDate) WHEN 'Sunday' THEN -2 WHEN 'Monday' THEN -3 ELSE -1 END, DATEDIFF(DAY, 0, T1.ValueDate))
Run Code Online (Sandbox Code Playgroud)
所以基本上,我对显示投资组合以及一列感兴趣,该列说明投资组合的DifferencePercent价值是否与前一个工作日相同投资组合的价值发生了变化。
我正在尝试使用扩展方法语法将相同的 sql 查询转换为 LINQ。但是,现在我只是想使用 Portfolio 属性和今天的 Portfolio 的 ValueDate 和上一个业务日期的同一投资组合的 ValueDate 进行自连接。
var result = NavList.Join(NavList, …Run Code Online (Sandbox Code Playgroud) 在一次采访中,我被要求找出每种性别至少有一个孩子的父母的姓名,即至少 1 名男性和 1 名女性。我解决了这个问题。然后他们修改了问题以查找至少有 2 个男孩和 2 个女孩的父母的姓名。这是表: 表名称:Children
这是我用于第一次询问的查询:
SELECT distinct C1.Parent_Name
FROM Children C1
JOIN Children C2
ON C1.Parent_Name = C2.Parent_Name
WHERE C1.Child_Gender = 'Male' AND C2.Child_Gender = 'Female';
Run Code Online (Sandbox Code Playgroud)
您能帮忙解答一下第二个问题吗?