选择要运行查询的特定记录

时间:2012-08-14 16:12:35

标签: mysql sql

我试图在一个有点大的数据库中选择少量记录并对它们运行一些查询。

我对编程非常陌生,所以我很失落。

我需要做的是选择Registraton#列等于某个数字的所有记录,然后仅对这些结果运行查询。

我可以提出数据库的样子,如果需要可以提供更详细的解释,虽然我认为这可能是一些我不知道的简单。

5 个答案:

答案 0 :(得分:1)

使用WHERE子句过滤数据库中的记录。

示例,如果您想从Persons表中获取所有记录,其中FirstName ='David“

SELECT 
  FirstName, 
  LastName, 
  MiddleInitial, 
  BirthDate, 
  NumberOfChildren 
FROM 
  Persons 
WHERE 
  FirstName = 'David'

你的问题表明你已经想出了这么多,但只是错过了下一篇文章。

如果您需要在上述结果集的结果中查询仅包含具有两个以上子项的人,您只需使用AND关键字添加到WHERE子句。

SELECT 
  FirstName, 
  LastName, 
  MiddleInitial, 
  BirthDate, 
  NumberOfChildren 
FROM 
  Persons 
WHERE 
  FirstName = 'David'
   AND
   NumberOfChildren > 3

现在,在某些情况下您确实需要使用子查询。例如:

假设每个人都有一个PersonId并且每个人都有一个与另一个人的PersonId相对应的FatherId ......

PersonId  FirstName  LastName FatherId...
1         David      Stratton  0
2         Matthew    Stratton  1

Select FirstName, 
  LastName 
FROM 
  Person 
WHERE 
 FatherId IN (Select PersonId 
              From Person 
              WHERE FirstName = 'David')

将所有孩子归还给一位名叫大卫的父亲。 (使用样本数据,马修将被退回。)

http://www.w3schools.com/sql/sql_where.asp

答案 1 :(得分:0)

我不知道你到目前为止做了什么,但我想你在某个地方有一个SQL查询

SELECT col1, col2, col3
FROM table

附加一个where子句

SELECT col1, col2, col3
FROM table
WHERE "Registraton#" = number

请参阅问题SQL standard to escape column names?

答案 2 :(得分:0)

这会对你有用吗?

SELECT * from table_name WHERE Regestration# = number

答案 3 :(得分:0)

试试这个:

SELECT *
FROM tableName
WHERE RegistrationNo = 'valueHere'

答案 4 :(得分:0)

我不确定我的解决方案。我建议你使用视图。您可以根据所需记录创建视图。然后进行所需的查询,然后删除视图。

查看说明:视图包含行和列,就像真实表一样。视图中的字段是数据库中一个或多个真实表的字段。

示例:

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

有关详细信息:http://www.w3schools.com/sql/sql_view.asp