0

特定の結果を返す必要がある非常に基本的なデータベースがあります。

私が検索しているテーブルが呼び出さJudgeれ、列が含まれています。

Judge_id, Name, Suburb

私の選択した声明では、アデレードとシドニーに住むすべての人の結果を返す必要があります。

だから私は使用します:

SELECT *
FROM judge
WHERE Suburb LIKE ('Adelaide' 'Sydney');

しかし、これは結果を返しません。また試した:

SELECT *
FROM judge
WHERE Suburb = 'Adelaide' 'Sydney'

まだ結果はありません。

ただし、アデレードだけを検索する場合:

SELECT *
FROM judge
WHERE Suburb = 'Adelaide'

結果は1つです。ただし、複数の一致があり、テーブルの最後の1つに返される結果(それが関係している場合)。

私が行った場合:

SELECT *
FROM judge
WHERE Suburb LIKE '%Adelaide%'

両方の試合があります。しかし、%サインアウトを残しておくと、もう一度1つの一致しか得られません。

テーブル内の人の「名前」のいずれかを検索すると、それらのいずれかに一致するものを取得できます。では、なぜ私は郊外の試合をするのに苦労しているのですか?助けてくれてありがとう

編集:

テーブルは次のようになります。

CREATE TABLE JUDGE (
   Judge_id    INT     NOT NULL,
   Name        VARCHAR(25),
   Address     VARCHAR(25),
   PRIMARY KEY (Judge_id)
);

およびデータ:

1  Smith      Melbourne
2  Green      Cootamundra
3  Gates      Dunkeld
4  Smith      Sydney
5  Russell    Adlaide
6  Schofield  Adelaide
4

2 に答える 2

1

これを試して :

SELECT * FROM judge WHERE Suburb in ('Adelaide' , 'Sydney');

カンマで区切って、より多くの郊外に言及することもできます。

于 2012-07-22T12:05:11.867 に答える
1

Raviの提案に同意しますが、本当に「LIKE」を使用したい場合は、次を使用してください。

SELECT * FROM judge WHERE Suburb LIKE 'Adelade%' or Suburb LIKE 'Sydney%';

ただし、そのフィールドデータにサフィックスがある場合にのみ使用できます。

于 2012-07-22T12:07:52.597 に答える