2011-11-09 19 views
1

特定の属性をリストするビューを作成する必要があります。具体的には:SQL結合、挿入?

Clientemp -

  • contact

Cliente -

  • name
  • address

Clientenameaddress属性に入る必要があります。 これまでのところ:

create view "Company Clients" 
select client.name, cliente.address, clientemp.contact 
from cliente, clientemp 
insert into clientemp (select name, address from cliente) 

これは機能しますか?なにか提案を?

+0

あなたはどのようなRDBMSを使用している( つまり テーブル定義で指定されたデフォルト値を持っていないすべての列。で)? – billinkc

+0

どのデータ要素がClienteをClientempにリンクしていますか? –

答えて

3

基本VIEW DDL:

CREATE VIEW CompanyClients AS 
SELECT {column list} 
    FROM Clientemp T1 
INNER JOIN 
    Cliente T2 
     ON T1.{Key} = T2.{Key} 
; 
  1. あなたはSELECTを書いてきたように参加するには、(CROSS JOINの)デカルト積のテーブルClientempとClienteの を発生します。 2つのテーブルの間で可能なすべてのレコードの組み合わせが得られます。

  2. INSERT文の
  3. 適切な構文は次のようになり

    INSERT INTO {対象} SELECT {} TableAのFROM {列のリスト}/*オプションの条件に参加* /;

  4. データベースシステムによっては、VIEW定義はおそらく ではINSERT文を使用できません。

  5. しかし、あなたは根本的な視野であれば 目標単一のテーブルとINSERTの時点で存在する値を必要とする列 と適切に修飾されているビューを使用して挿入を実行できるようにする いくつかのデータベースシステム。

+0

私は「データベースシステム」の概念を完全に理解していません...英語は母国語ではありませんxD しかし、私はこの問題をもう一度読んで、この単純な解決策を考え出しました。テーブルが完全に動作していない可能性があります。 ビューを作成するclientes_emp as select cliente.nome、cliente.endereco、clienteemp.contacto からcliente、clienteemp; – GuilhermeM