2017-04-10 6 views
0

이것을 수행하려면 (제목 설명에서) 이미 정규화 된 데이터베이스이므로 내부 결합 검사 유형 확실히 사용될 것입니다.컬럼 값 id가 다른 테이블 (정규화 된 형식)의 ID 설명과 일치하는 경우 지정된 열에 데이터 삽입

고객 테이블과 주어진 customer_ID를 기본 키로하고 설명 이름 성을 비롯하여 다른 테이블 (Customer_Sales_History) Customer_ID 열을 쿼리 가능한 방식으로 검색한다고 가정 해 보겠습니다.

업데이트 : 나의 투쟁 나는 Customer_Name 제 & Customer_Lastname 검사를 통해 특정 CUSTOMER_IDS 특정 컬럼에있는 XML (SOAP 응답) 형식으로 인수하지만, 첨부 된 특정 데이터를 추가 할 필요가 있다는 것입니다.

Customer_Name 제는 = "존"과 Customer_Lastname = "마틴은"다음 값 salescode의 productquantity 및 productdescription을 채우는 경우

볼륨이 큰 (수천 개의 행) 그래서 SQL이있을 수 있습니다부터 삽입으로 채워야하는 것입니다 또 다른 테이블, 꽤 slqing 볼륨의 유형에 새로운. 내가 Customer_Name 제 = 잭과 Customer_Lastname = 흰색과는 Sales_Code Product_Quantity & 제품 설명을 채우는 것을 행과 일치해야합니다 주어진 대상으로 CUSTOMER_ID 2 Customer_Sales_History 표에 주어진 데이터를 삽입하기 위해

  Customer Table 
Customer_ID | Customer_Name | Customer_Lastname 
1   | John   | Martin 
2   | Jack   | White 
3   | Don   | Carrera 

    Customer_Sales_History Table 

Customer_ID | Sales_Code | ProductQuantity | ProductDescription 
2   |  X  |  X  |   X 

.

+0

"XML 형식"은 어떻게 보이나요? 거기에 어떤 정보가 필요합니까? 히스토리 테이블의 기존 행을 _update_하거나 정말로 _insert_해야합니까? sales_code, productquantity 및 productdescription의 값은 어디에서 비롯됩니까? 귀하의 고객 테이블에는없는 것 같습니다. –

+0

그것은 비누 응답입니다 그래서 그와 같은 화이트 2000 2 SQL은 문제는 또한 HOW TO 인형위한 것이라고이 응답 등 같은 45.000 다른 사람 .. 그래서 무엇을하려고하는 SQL 문을 만들 수 있도록 수동으로 할 필요가 없을 ... 그 외에 Navicat 함께 할 수 있습니다. 1 행에 필요한 SQL 코드가 없습니다. – adtoctor

+0

미안해. 미안해. 왜 'customer_sales_history (...) 값 (...)'에 간단한 '삽입'을 사용할 수 없습니까? –

답변

1
Update ch 
set ch.sales_code = ..., 
    ch. ProductQuantity =..., 
from Customer_Sales_History ch join Customer c on ch. Customer_ID= c.Customer_ID 
where ch.Customer_ID=2 
+0

당신이 그 테이블과의 크로스 조인을 원한다면, UPDATE 문의'from' 절에서 목표 테이블을 지정하지 마십시오 **. –

+0

그게 무슨 소리 니? 너는 그걸 적어 줄 수 있니? – Mehr

+0

이미 매뉴얼에 기록되어 있습니다 : https://www.postgresql.org/docs/current/static/sql-update.html ('from_list'에 관한 섹션 참조) –

0

고객 테이블의 customer_ID를 기본 키로, Customer_ID를 외래 키로 Customer_Sales_History 테이블에 선언 한 경우 자동으로 확인 부분을 수행합니다. 그래서 왜 명시 적으로 customer_id에 대한 검사를 수행해야합니까?

+0

주어진 데이터가 DB 형식을 인식하지 못하기 때문에 그들은 고객 설명과 예를 들어 설명을 제공합니다. Jack White는 내가 삽입하기 위해 행에서 일치시켜야하는 것입니다 새로운 데이터 – adtoctor