我有一个表,其中一个列作为ID,我在where子句中给出了一组值,用来比较使用' in‘关键字的'ID’列。如果该值集中的值在表中有记录,我希望选择行。如果不是,则必须选择表中未包含的值以及空值(其他列)。
例如:有一个包含ID &列的表。它有8张唱片。
如果我运行这个查询:
SELECT ID, Animal from #Temp1 where ID in (4,8)
它将返回以下结果。
但是,如果我运行这个查询:
SELECT ID, Animal from #Temp1 where ID in (4,8,12)
它应该返回以下结果。
考虑下面的问题:我有两个用于拆分的字符串:
STR1 = 'b;a;c;d;e'
STR2 = '3;1;4;2;5'
我希望根据这两个字符串的索引进行拆分和合并,结果是:
b -> 3
a -> 1
c -> 4
d -> 2
e -> 5
我试过用STRING_SPLIT,但是order by把它们都分类了。
SELECT A.VALUE, B.VALUE FROM (
SELECT VALUE, ROW_NUMBER() OVER(ORDER BY VALUE) AS RW
FROM STRING_SPLIT
我在数据库中有一个列,其中包含以下值:
##1##,##7##,
##1##,##3##,##5##,
我需要检查##3##,是否存在。
我试着使用like子句
declare @MyCSharpParameter
set @MyCSharpParameter = '##3##,##4##'
select * from myTable where col like '%@MyCSharpParameter%'
但是,它不能很好地工作,因为myTable没有'##3##,##4##‘,它有##3##,##5##,
任何帮助,请检查它作为单独的数字,并找
我正在尝试运行与另一个select结果部分匹配的select。我所做的一切似乎都不能产生我想要的结果。
我在一个表中有一个值,它是一个逗号分隔的列表,所以它看起来像这样。
List
-----------
item1,item2,item3
然后,我有另一个表(行),该表包含一个列,其中包含项目1-3和其他我想要过滤掉的项目。这就是我正在尝试的,但是不能让它工作。
Select lineitems.itemnumber from lineitems,productlines
where productlines.list like concat('%',(select list
这很难解释,但我会试一试。我有一个SQL查询(使用SQL Server)如下所示:
declare @recordid as nvarchar(50)
set @recordid = 1,2,3
select * from customers
where recordid in (@recordid)
如你所见,1,2,3附近的语法是不正确的。代码说1,2,3而不是' 1,2,3‘(带引号)的原因是,它是动态构建查询的系统的一部分,它只是放在1,2,3中。1,2,3可以是一个可变数量的值,例如3,5,7,2,6,3,7,8,可能是数百。
我需要将1,2,3更改为SQL Server
我有一个包含列的Sql表。这些列包括Name、EmpNum、Status、Dept、Shift、HireDate、TerminatedDate。我想创建一个查询,它允许我使用任何可用的参数选项来查询此数据。所以在(@ Name )中命名,在(@ EmpNum )中命名,在@HireStart和@HireEnd之间命名,等等。但并不是所有的选项都会每次都用到。我尝试使用"Like",但这对我的日期参数没有帮助。我不知道该用什么。任何帮助都将不胜感激。 Select *
FROM EmployeeData
Where Name like isnull(@Name,'%
我知道这违背了所有的DB规范化原则,但我不能在这一点上改变设计。
我有一个列,它的值存储如下(SQL Server数据库):
5;26;31;49
下面是另一个表,其中包含此值的转换,如下所示:
Code Value
-------------------
5 Some Value 1
26 Some Value 2
31 Some Value 3
49 Some Value 4
我需要将分号分隔的代码转换为相应的值,并将这些值表示为一行的一部分,因此我希望看到的结果是:
Some Value 1; Some Value 2; Some Value 3;
我正在尝试从我的数据库中的一个表创建一个邮件列表,然后在该表中搜索包含兄弟项信息的列,提取兄弟项信息,在表中搜索这些兄弟项,然后将这些兄弟项连接到原始邮件列表。 在下面的代码中,我尝试将别名t1分配给一个select查询。 SELECT * FROM CountyData AS t1
WHERE dt_dec BETWEEN #05-6-2018# AND #06-06-2018#
AND RippleImport IS NULL
AND (Date()-[dob])/365.25 <13.875
UNION SELECT CountyData.*
FROM CountyDat
我的Server表中有一列(参见下面的示例)。我需要编写一个查询,该查询将返回包含给定字符串的行,例如830。但是,我需要搜索字符串数组中的任何字符串。
例如:
我有一个类似于'634,7,830‘的字符串数组。
用'634,7,830‘作为输入调用我的查询
结果应为第3、5、6和7行。
这是我目前的情况,但这里我只得到最后三行,而不是包含“830”的那一行。
我怎么才能找到失踪的那个?
SELECT *
FROM dbo.YYY
WHERE [DepartmentNo] IN (SELECT value
我可以在逗号分隔字符串中检查单个字符串,例如,查找包含单个值的varchar数据字段,如1 or 2 or 5 in '1,2,3,4,5'中的逗号分隔字符串,如下所述:,但我想知道如何检查比较字符串是否为单实心字符串,是否也是逗号分隔字符串。例如,数据字段是varchar,包含逗号分隔字符串(如'1,3,4' ),我想检查'1,2,3,4,5'逗号分隔字符串中是否存在像1、3或4这样的项,我希望成功地澄清这一点,感谢您提供的任何帮助。
澄清:虽然“在列中保留分隔字符串是个坏主意”,但我认为当最大值仅包含小于15项时并不重要,在某些情况下,我有
我试图拆分一个表'movies_titles'的movies_titles列(“类别”),其中包含字符串分隔的数据值。
e.g:
ID title categories
1 Movie A Comedy, Drama, Romance
2 Movie B Animation
3 Movie C Documentary, Life changing
我希望拆分以逗号分隔的字符串,并将每个值放在单独的行中,并更新表。
-- this query shows the splitted strings as I want it
SELECT *
FROM db
我有一个包含逗号分隔值的列的SELECT查询,它也将在WHERE子句中使用。我试过使用LIKE和IN,但都不起作用。
示例:
SELECT ReferenceNumber, CommaSeparatedColumn
FROM ...
WHERE CommaSeparatedColumn LIKE '%1,2%'
如果SELECT包含1或2,则CommaSeparatedColumn应该返回值。
现在,我需要过滤出带有特定文本字符串的行。例如,对于以这种格式给出的字符串:'taxes,car‘--我需要筛选出行描述中包含“赋值”或"cars“的所有行。我想出了这个:
SELECT
TransactionId
,t.DocumentID
,t.DocumentDescription
FROM [Transaction] t
INNER JOIN (SELECT CONCAT('%',[Value], '%') AS [Value]
FROM
假设我有一个问题-
Create Temporary Table myparams AS (
SELECT 'xyz' AS Column1
);
SELECT * FROM MyTable x
JOIN myparams y ON x.Column1 = y.Column1
这个可以完美地工作。但是,假设我这样做:
Create Temporary Table myparams AS (
SELECT NULL AS Column1
);
我想在这里做的是,当params中有NULL时,当我在MyTable上联接时,我想返回所有行。
如下所示:
SELECT * From
我试图从同一列中提取基于多个关键字的数据。
目前,我有一个SQL语句,它的工作方式如下。
SELECT *
FROM Customers
WHERE CustomerName LIKE 'a%'
OR CustomerName LIKE '_r%'
OR CustomerName LIKE 'si%';
效果很好。我试图实现的是将关键字c("a", "_r", "si")作为向量传递。如下所示:
keywords <- c("a", "_r", &