質問

現在、私は2つのテーブルを持って、テーブルの両方が同じ構造を持っており、Webアプリケーションで使用しようとしています。 2つの表は、生産および温度です。一時テーブルは、[サインアップ]と呼ばれる一つの追加の列が含まれています。現在、私は各テーブル(RECNOと名)で発見された2つの列を使用して単一のリストを生成します。私は、Webアプリケーションの検索機能をサポートすることができるよ、これらの二つのフィールドを使用します。今私は何をする必要があるかは、第二のテーブル上の検索で使用できるアイテムの量を制限するサポートです。人が同様のレコードが生産テーブルに作成され、独自のRECNOを持っています「サインアップ」されると、この理由はなっている。

やってます:

Select recno, name
  from production
UNION ALL
Select recno, name
  from temp

...私は誰もが表示されます。私が試してみました。

Select recno, name
  from production
UNION ALL
Select recno, name
  from temp
 WHERE signup <> 'Y'

しかし、これが何も返しませんか?缶誰ヘルプ?

役に立ちましたか?

解決

私はあなたが正確に何をしたい理解してるかどうかわかりません。これらは一時テーブルからサインアップした後、本番テーブル内のレコードを作成し、あなただけのサインアップしていない人々をしたい場合は...あなたはすべての生産テーブルに調べる必要がありません。単純ます:

SELECT recno, name FROM temp WHERE signup='N'

あるいは、しかし、あなたはあなたの検索を制限しようとしています。何らかの理由で労働組合が必要なのですが、あなたは重複を排除しようとしている場合は、ALL句を削除するために、あなたのステートメントを変更する必要があると思います。 UNION ALLを使用すると、重複を取得する原因となります。あなたが重複した値を使用しない場合、あなたはあなたのUNIONでALLを使用しないようにしたいです。あなたは労働組合ここを。

上に読むことができます

他のヒント

あなたが求めているものについて、あなたはそれをこのスタイルを行うことができます。

SELECT * FROM
(
    SELECT '1' as `col`
    UNION 
    SELECT '2' as `col`
) as `someAlias`
where `someAlias`.`col` = '1'

、カッコ内全体組合を入れ、それにエイリアスを与える、条件を与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top