2011-11-09 92 views
1

我需要創建一個視圖,我將列出某些屬性。更具體地講:SQL加入,插入?

Clientemp -

  • contact

Cliente -

  • name
  • address

我需要進入Clientempnameaddress屬性從表Cliente表。 到目前爲止,我有:

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

什麼數據元素鏈接Clientemp到Clientemp? –

回答

3

基本觀點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. INSERT語句的正確的語法是

    INSERT INTO {}目標SELECT {列列表}從{表A}/*可選加盟條件* /;

  3. 根據數據庫系統的不同,您的VIEW定義可能不會允許INSERT語句 。

  4. 然而,一些數據庫系統 允許你通過視圖執行插入如果底層視圖 目標的單個表,並與需要的值是存在於插入時列 適當資格。 (在其他 也就是說所有列沒有在 表定義中指定的默認值。)

+0

我不完全理解'數據庫系統'的概念...英語不是我的母語xD 然而,我再次讀到這個問題,想出了這個簡單的解決方案...在SQL開發人員出來一些奇怪的東西,但可能是因爲表格沒有完全運作: 創建視圖clientes_emp爲 select cliente.nome,cliente.endereco,clienteemp.contacto from cliente,clienteemp; – GuilhermeM