2011-02-07 21 views
0

つ以上のテーブルにクエリを実行している:4つのフィールドに3つのフィールド(名前、グリッドと社会保障カード) 私は2つのテーブルでクエリを作成しようとしている

  • INDIVIDUAL_AGGREGATE

    • SIMPLE_PERSON:グリッド(PK)、タイプ(D(ドライバ)またはC(クライアント))、コード、simple_person(simple_personの外部キー))

    私はいくつかの人を登録すると、私はSIMPLE_PERSONに彼らを保存し、設定する必要があります(ドライバまたはクライアント)の集約のタイプ。そして、2つの等しい社会保障カード番号を持つことはできません。

    AJAXでは、SSCが登録されていてもSQLクエリが機能しない場合、アラートボックスを返すチェッカーを投げます。ソーシャルセキュリティカードがすでに登録されている場合は、私に返信するクエリを作成する必要があります。私はEXISTSを使用しようとしているが、私は多くの成功を持っていなかった。

    SELECT simple_person.name 
        FROM simple_person 
    WHERE SSC = 'SSC_NUMBER' 
        AND EXISTS (SELECT individual_aggregate.code FROM individual_aggregate 
           WHERE code = 'xx' 
            AND individual_aggregate.type = 'D'); 
    

    誰かがこのクエリを動作させるために私を助けることができますか?

  • +2

    あなたは実際にSSNをデータベースに保存していないことをインターネットの神に祈っています。 –

    +0

    なぜクエリの 'EXISTS ...'部分が必要ですか?もしあなたがSSCがまだ登録されていないのを見たいのであれば、 'SELECT count(*)FROM simple_person WHERE SSC = 'SSC_NUMBER''を実行できませんか? –

    答えて

    0

    コード= 'xx' に AND individual_aggregate.type = 'D' はあなたがそこにあるかどうかを確認したかったの individual_aggregate FROM individual_aggregate.code を選択社会保障番号に登録した人ですか?

    もしそうなら、私は2つのテーブル を結合し、特定の社会保障番号と等しい行を返します。

    あなたは、WHEREステートメントに追加することができます(AND IA.code = 'XX' AND IA.Type = 'D')

    SELECT SP.Name 
    FROM simple_person AS SP 
    INNER JOIN individual_aggregate AS IA ON SP.grid = IA.grid 
    WHERE SP.SSC = {someNumber} 
    

    はあなたを助けましたか?

    +0

    はい、ありがとうございましたguy = D –

    0

    EXISTS句のサブクエリは、実際には表、ビューなどには当てられません。

    +0

    合意しましたが、これがタイプミスかどうかを確認するコメントを記録するつもりでした。 –

    0

    サブ選択にFROM句がありません。

    よろしく Sigersted

    関連する問題