小编Icy*_*rts的帖子

如何比较两个不同 VARCHAR 列中的字符串?

我需要一种方法来比较两varchar列的内容,命名fistnamelastname相应,如果内容存在于 中firstname,则将其从lastname. 理想情况下,我想在没有更新查询的情况下执行此操作,但如果这是实现它的唯一方法,那么我可以走那条路。

这是示例 DDL 和 DML:

Declare @BadData Table
(
    firstname varchar(500)
    ,lastname varchar(500)
)

Insert Into @BadData (firstname, lastname) Values
('Bridget Jones', 'Jones, III'), ('Butch', 'Jones'), ('Key West', 'West')
,('Bob Marly', 'Junior')

Select * From @BadData
Run Code Online (Sandbox Code Playgroud)

这给出了以下结果集:

firstname       lastname
-------------   ----------
Bridget Jones   Jones, III
Butch           Jones
Key West        West
Bob Marly       Junior
Run Code Online (Sandbox Code Playgroud)

我想要的结果集是:

firstname       lastname
-------------   --------
Bridget Jones   , III
Butch   Jones
Key West    
Bob Marly …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2008-r2

3
推荐指数
1
解决办法
3万
查看次数

从左表返回所有数据

我的左表比右表包含更多的商店名称。我以为快速左连接会返回该数据集,但无济于事!

Data In From 子句有最多的选项,我想显示所有这些 Data In Left Join 子句有一些但不是我想显示的所有选项

我创建了 CTE 来获取 SUM() 并将数据拉到主查询中存在于左连接表中

这是我使用的查询,它没有给出我想要的结果。

;With DataFromOne As
(
    Select   StoreName
             ,DataFromOne = Count(ramalad)
    FROM     DataFromOne
    WHERE    EntryDate BETWEEN '20170101' AND '20170331'
    GROUP BY StoreName
)
Select   ec.StoreName
         ,[Emp Count] = COUNT(Employee)
         ,[PT Count] = COALESCE(ec.DataFromOne,0)
FROM     DataFromOne ec
LEFT OUTER JOIN DataFromTwo fji
ON       ec.StoreName = fji.StoreName
WHERE    fji.saleDate BETWEEN '20170101' AND '20170331'
GROUP BY ec.StoreName, ec.DataFromOne
ORDER BY ec.StoreName ASC;
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2008-r2

2
推荐指数
1
解决办法
621
查看次数

从 Alter Table 语句添加的更新字段

我正在尝试更新刚刚从ALter语句中添加的字段。我收到以下错误:

消息 207,级别 16,状态 1,过程 TestProc,第 436 行
无效的列名称“discountamount”。

这是我尝试使用的语法 - 更新刚刚添加到存储过程中的字段的正确方法是什么?

ALTER TABLE [dbo].msnbc
ADD saleamount float,
discountamount float;

UPDATE ftri
SET ftri.discountamount = fji.Totaldiscountamount
FROM [dbo].msnbc ftri
INNER JOIN [dbo].halfbaked fji
ON ftri.saleid = fji.saleid
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql sql-server-2008-r2

2
推荐指数
1
解决办法
85
查看次数

标签 统计

sql-server ×3

sql-server-2008-r2 ×3

t-sql ×3