下面是我搜索所有列的搜索表程序。我在运行中添加了CleanName列,并且需要在另一个查询中可搜索的列,原因是如果我当前搜索"bob smith“im得到0个匹配项,但bob因为名字返回匹配项,所以在本例中cleanname实际上是全名
USE [ITAPP]
GO
/****** Object: StoredProcedure [dbo].[sp_SearchAllTables] Script Date: 07/11/2013 10:57:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PRO
我希望将一个查询的结果化名,并在另一个查询中使用said别名。作为一个简单的例子,如下所示:
(select a from foo) as fooResults;
select b from bar
where b in fooResults;
显然,这个语法不起作用。有什么方法可以用普通的Oracle SQL实现这一点吗?如果需要PL/SQL,语法是什么?搜索结果似乎都指向列或表别名。
编辑:一个驱动因素是,如果可能的话,我希望能够在以后的几个查询中使用fooResults。
我想获得一个用户在他们国家的分数的排名。例如,美国排名第23位。
经过一些谷歌搜索,我发现RANK函数将是最好的解决方案。下面是我的SQL查询:
SELECT points_ranking FROM
(
SELECT
user_country,
user_id,
user_points,
RANK () OVER (
ORDER BY user_points DESC
) points_ranking
我正在创建一个搜索功能。我的sql查询在where子句中使用LIKE和OR LIKE。我正在搜索的表中的一个字段名为quantity_types,它只存储与另一个表中找到的值相对应的代码。因此,为了从另一个中检索值,我想在我的查询中使用Left Outer Join。
下面是我的示例代码:
SELECT * FROM `pharmacy_items`
LEFT OUTER JOIN pharmacy_quantity_types
ON pharmacy_items.quantity_type = pharmacy_quantity_types.id
AND 'pharmacy_item
我在MS Access表单上运行VBA驱动的SQL。
在这个测试语句中,我试图根据另一个表引导的LanguageID来插入Territory_CountryID信息。
以下是我的代码:
INSERT INTO tblTest
SELECT tblCountry_Language.LanguageID
FROM tblCountry_Language
WHERE Territory_CountryID =
(SELECT tblTerritory_Country.Territory_CountryID
FROM tblTerritory_Country
WHERE
我有一个查询,需要从另一个查询中存在两个外键的表中获取行。以下是简化的SQL:
Select MainID From MainTable Where
Key1 In (Select SubID From SubTable Where UserID=@UserID) Or
Key2 In (Select SubID From SubTable Where UserID=@UserID)
如您所见,子查询是重复的。SQL编译器是否足够智能,能够识别这一点并只运行一次子查询,还是运行两次?
有更好的方法可以写这个SQL吗?
更新:我本来应该提到这一点的-- SubID是SubTable的主键。
我在一个数据库中有两个表。第一个表是"tb_ctsreport“,其中包含字段"qr_id、idNum、date、time”;另一个表是"tb_usersreg“,其中包含多个字段,包括idNum、firstName、lastName、age和address。我已经使用以下查询显示了我的表: $query = "SELECT * FROM tb_ctsreport LEFT JOIN tb_usersreg ON tb_ctsreport.idNum=tb_usersreg.idNum"; 这给了我一个由qr_id、idNum、Name(连接的firs
假设我有一个名为PEOPLE的表,它有三个列: ID、LastName和FirstName。这些列都没有索引。LastName更独特,而FirstName则不那么独特。
如果我做两次搜索:
select * from PEOPLE where FirstName="F" and LastName="L"
select * from PEOPLE where LastName="L" and FirstName="F"
我认为第二个标准更快,因为更独特的标准(LastName)在where子句中排在第一位,记录将被更有效地删除。我认
SELECT C_SousCategorie as y, Enseigne as x, Count(DISTINCT r.Reference_Produit) as val
FROM RawData r, Day d
WHERE r.DayId = d.DayId
AND d.WeekNo BETWEEN MAX(d.WeekNo) AND (MAX(d.WeekNo)-2)
GROUP BY Enseigne, C_SousCategorie
我使用sql参数,我有一个查询,我想使用两个类似的查询。第一个使用两个where子句,另一个只使用其中一个子句,是否有一个符号可以用于第二个查询,使其始终相等?
例如:
SELECT path, markdown
FROM public."Comment"
where path = 'relative/path/' AND markdown = 'here I am';
第二个例子:
SELECT path, markdown
FROM public."Comment"
where path = '/oth
我有一个SQL查询,如:
delete from myTable where versionId in (select id from version where code='TEST')
嵌套在删除查询中的select查询。我想使用NodeJS Sequelize构建相同的查询,因此代码可能如下所示:
db.myTable.destroy({
where: {
versionId: { $in: [12, 34, 56] }
}
}).then(nbDeleted => {
...
}
我正在进行一个搜索房间查询,它根据用户输入搜索可用的房间;床位数、入住日期和退房日期。当前代码可以根据床位数搜索房间,但不能过滤掉日期范围与用户输入日期重叠的现有预订房间。这是当前的代码:
$sql = "SELECT rooms.rid, beds, orientation, price FROM rooms
WHERE beds = $nOfBeds AND rooms.rid NOT IN
(SELECT bookings.rid FROM bookings
WHERE $cInDate BE
我正在使用SQL Server 2012,我需要对一个名为Notes的特定字段执行搜索。搜索条件是查找在该特定字段中提到术语8%的所有行。
我的WHERE查询的T-SQL子句如下所示:
WHERE [Notes] like '%[8%]%'
但是,根据上述语法,查询没有正确地进行筛选。它还包括提到术语8的行。
我看过以下问题中提出的答案,但仍然没有给出正确的答案。
我在使用sql LIKE语句查询单引号时遇到问题
这是我的SQL查询,用于搜索SD卡中的音乐文件。
final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
final String[] cursor_cols = {
MediaStore.Audio.Media.TITLE
};
where = MediaStore.Audio.Media.TITLE + " like ('%"+SomeSongTitle+"%')";
cursor = getContentResolver
运行以下代码时,我将得到一个sql错误。我是SQL的新手。所以,如果这是一个愚蠢的问题,请忽略。下面是我的SQL查询,根据用户的位置返回一些用户
SELECT DISTINCT e.* FROM users u WHERE (u.id IN (SELECT id,
(6371 * acos(
cos( radians(9.9894229) ) * cos( radians( latitude
我可以通过SQL搜索customers表,没有任何问题。
select Name
from Customers
where Name COLLATE Latin1_General_CI_AI like '%ozgur%'
此查询可以找到"özgür“
当我将这个表放到缓存中并尝试使用linq搜索这个表时,我无法通过"ozgur“搜索词找到"özgür”。
在C# LINQ中有没有类似的使用Latin1_General_CI_AI的方法?
在mysql中解释的额外字段中,您可以得到:
Using index
Using where; Using index
这两者有什么区别?
为了更好地解释我的问题,我将使用下表:
CREATE TABLE `test` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`another_field` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=ut
我收到MySQL 1349错误,但似乎该错误是不正确的:
ERROR 1349: View's SELECT contains a subquery in the FROM clause
在创建视图时,我可以没有任何子查询吗?
下面是我的SQL:
CREATE VIEW `wordpress`.`ffi_be_v_book_details` AS (
SELECT ffi_be_courses. * , COALESCE( `Total` , 0 ) AS `Total`
FROM `ffi_be_courses`
LEFT JOIN (
SELECT
我正在重写所有旧的mysql-函数到准备语句(PDO)。我还尝试重写所有sql循环,使查询变得“智能”,因此不再需要sql-循环。但是这次,我不知道怎么做到这一点。
用于搜索使用过的ip地址的简单SQL:
SELECT ip FROM log_ip WHERE spelerID = :spelerID
通常,我会对结果执行时间循环:对于找到的每一个ip地址,我都会执行一个新的sql搜索,以查找相同ip地址上的其他用户。
SELECT spelerID,naam FROM log_ip WHERE ip = :ip
我找不到一个解决方案来创建一个查询,找到用户,使用相同的ip地址?提前感谢您的
我使用kafka连接到从DB2到kafka主题的源数据,并配置sql查询从DB2读取数据,下面是查询
SELECT SEQ_I AS error_id, TRIM(SEND_I) AS sca , to_char(CREATE_TS,'YYYY-MM-DD HH24:MI:SS.FF3') AS create_timestamp, CREATE_TS, TRIM(ERR_MSG) AS error_message , CASE substr(ERR_MSG,1,locate('-',ERR_MSG)-1) WHEN 'WARNING' THEN
我做错了什么?
SQL> select ename, job, oder by (ascending order)hiredate from emp where hiredate between '20-FEB-81' AND '01-MAY-81';
select ename, job, oder by (ascending order)hiredate from emp where hiredate between '20-FEB-81' AND '01-MAY-81'
*
E
我使用ColdFusion 9访问Server 2008数据库。数据库设置为使用区分大小写的排序规则。我想做一个对案件不敏感的调查。类似于:
select field
from table
where field2 = 'test' COLLATE SQL_Latin1_General_CP1_CI_AS
复杂的是,my子句使用IN运算符对逗号分隔的字符串值列表进行搜索。除非我在每个值之后设置排序规则,否则这似乎不起作用:
select field
from table
where field2 IN ('test' COLLATE SQL_Lat
select id, name from myTable;
或
select id, name from myTable where name like "%";
Mysql是否优化了第二个查询?
更新: myTable只有三列id(主键),myTable中的行的名称和年龄都在(5-10)k范围内。
如果我们在列"name“上创建一个索引呢?
SELECT
user_groups.*,
groups.grp_display_name,
CASE user_groups.uug_active
WHEN '1' THEN 'YES'
WHEN '0' THEN 'NO'
END AS usr_active
FROM
user_groups,
groups
WHERE
user_groups.uug_is_deleted = 0
AND user_groups.gro
我对PHP和MySQL都很陌生,我正在尝试构建一个歌手引语库。我希望用户能够通过输入引号本身的一部分、歌手的名字或歌手的乐队(如果有的话)来搜索报价。
现在,我几乎确定了这部分:
$query = 'SELECT * FROM quotes WHERE (quote LIKE "%'.$search_string.'%" OR singerName LIKE "%'.$search_string.'%" OR bandName LIKE "%'.$search_string.'%")'
我有一个基于userid的表,它包含用户最喜欢的图像
我有另一个表,它包含用户的用户名和用户id。
我想运行一个查询,在查询中插入一个名称,然后它检索userid,并使用这个userid搜索返回用户名和所选图像的收藏夹表。
我对SQL非常陌生,所以非常感谢您的帮助
SELECT *
FROM `atabl_users`
WHERE `name` LIKE 'user to input value'
LIMIT 0 , 30
SELECT *
FROM `atabl_joomgallery_users`
WHERE `uid` =17
ORDER BY
我想使用子查询作为sql server中全文搜索的"Contains“内的搜索词。诸如此类的事情,
SELECT TOP (1) DocumentDate, Auto_FullText
FROM tblDocuments
WHERE CONTAINS(Auto_FullText, (Select FirstName From tblUser Where UserId=1))
不幸的是,它不起作用。
请推荐另一种方法。
我正在寻找一种方法,当已经在使用WHERE IN子句时,可以执行类似于SQL LIKE子句的文本搜索。
我试过这样的方法:
SELECT DISTINCT name FROM cars
WHERE driverName IN ("Bob", "Joe")
MATCH(name) AGAINST ('"mercedez"' IN BOOLEAN MODE)
但是我不能得到基于文本搜索词"mercedez“的有效查询
我在尝试从网页条目动态生成SQL SELECT语句时遇到了一些小问题。基本上我在网站上有一个小的搜索引擎,它接受三个参数(价格,城市,品牌),所以我有一个JavaBean以同样的方式构建,只有3个属性,相同的。在数据库上执行SELECT操作时,我可以使用PreparedStatement这样做
String sql=select * from product where price<=? and city=? and brand=?;
prep=conn.prepareStatement(sql);
prep.setDouble(1,price);
prep.setString(2,ci
我最近开始学习oracle和sql。在学习过程中,我遇到了几个问题,我的朋友在一次面试中被问到。
SELECT *
FROM Employees
WHERE NULL IS NULL;
此查询将生成Employees表中的所有行。正如我所理解的,Oracle在列中搜索数据,因此,NULL,这里是否将其视为列名?当我说Oracle在列中搜索数据时,是否正确?为什么Oracle会给出这个查询中的所有行?在WHERE子句中,条件的左侧不是必须是列名吗?它不应该抛出一个错误吗?
SELECT *
FROM Employees
WHERE NULL = NULL;
不提供选定的行。
嗯,我知
基本上,所有的东西都是在括号里自己工作的。括号中的语句将返回4个不同的值,它们都位于不同的行上。
当子查询只能返回1行时,如何避免需要将括号外的sql语句应用于从括号中的语句返回的4个值?
SELECT
to2.Name, to2.PhoneNum
FROM
tbl_operatordesc to2
WHERE
to2.operatorID = (SELECT
to3.operatorID
FROM
tbl_operatorrouterelation to3
WHERE
这个查询工作正常,但当它显示结果时,它会按字母顺序显示结果,而不是首先显示搜索的结果。
假设我搜索了婴儿尿布,它将显示婴儿尿布,但在字母位置B,而不是婴儿尿布是第一个显示的结果。
成人尿布、婴儿尿布、休闲尿布、可丢弃尿布
我希望结果是这样的。
婴儿尿布、成人尿布、可丢弃尿布、休闲尿布
还有其他相关的结果被明显地显示出来,所以它们都被发现和显示在一起。
我应该如何修改这个问题,使婴儿尿布将是他们的第一个结果。
select * from TheTable WHERE MATCH (`title`) AGAINST ('$search') AND (`category`) LIKE
我刚刚开始学习LINQ to SQL,到目前为止,它的易用性和良好的性能给我留下了深刻的印象。
我曾经认为,当进行LINQ查询时,比如
from Customer in DB.Customers where Customer.Age > 30 select Customer
LINQ从数据库中获取所有客户("SELECT * from Customers"),将它们移动到customers数组中,然后使用.NET方法在该数组中进行搜索。这是非常低效的,如果数据库中有数十万客户怎么办?进行如此大的SELECT查询会杀死web应用程序。
现在,在体验了LINQ to SQL的