1

やや大規模なデータベースで少数のレコードを選択し、それらに対していくつかのクエリを実行しようとしています。

私はプログラミングに非常に慣れていないので、かなり迷っています。

私がする必要があるのは、Registraton# 列が特定の数値に等しいすべてのレコードを選択し、それらの結果だけに対してクエリを実行することです。

データベースがどのように見えるか、必要に応じてより詳細な説明を掲載できますが、私が見逃しているのは単純なものかもしれません。

4

5 に答える 5

1

データベース内のレコードのフィルタリングは、WHERE 句を使用して行います。

たとえば、FirstName = 'David" の Persons テーブルからすべてのレコードを取得する場合

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

あなたの質問は、あなたがこれだけのことを理解していることを示していますが、次のピースが欠けているだけです。

2 人以上の子供を持つ人のみを含めるために、上記の結果セットの結果内でクエリを実行する必要がある場合は、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')

Davidという名前の父を持つすべての子供を返します。(サンプル データを使用すると、Matthew が返されます。)

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

于 2012-08-14T16:17:50.553 に答える
0

私は自分の解決策について確信が持てません。ビューを使用することをお勧めします。必要なレコードに基づいてビューを作成します。次に、必要なクエリを作成すると、ビューを削除できます。

ビューの説明: ビューには、実際のテーブルと同じように、行と列が含まれます。ビュー内のフィールドは、データベース内の 1 つ以上の実際のテーブルからのフィールドです。

例:

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

詳細については、http ://www.w3schools.com/sql/sql_view.asp を参照してください。

于 2012-08-14T16:17:28.930 に答える
0

あなたが今まで何をしてきたかはわかりませんが、次のような SQL クエリをどこかに持っていると思います。

SELECT col1, col2, col3
FROM table

where句を追加する

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

SO question SQL standard to escape column names? を参照してください。.

于 2012-08-14T16:15:49.377 に答える
0

これはあなたの役に立ちますか?

SELECT * from table_name WHERE Regestration# = number
于 2012-08-14T16:15:49.117 に答える
0

これを試して:

SELECT *
FROM tableName
WHERE RegistrationNo = 'valueHere'
于 2012-08-14T16:16:02.353 に答える