2013-03-06 3 views
1

이 코드를 수정하여 정보를 가져 오는 두 테이블의 레코드를 모두 삭제할 수 있습니까?여러 테이블에 대한 쿼리 삭제

SELECT products_description.products_name, products.products_id 
FROM products INNER JOIN products_description ON products.products_id =    products_description.products_id 
WHERE (((products.products_ordered)=0) AND ((products.products_status)=0)); 

저는 SQL 코딩이 새로 도입되었으므로, 이것이 바보 같은 질문 인 경우 실례합니다.

+0

분명히 DELETE로 SELECT를 변경해야하지만 표를 지정해야합니다. 둘 다 어떻게 지정합니까? –

+0

테이블 사이에 관계를 설정하십시오. delete 캐스케이드에서 작업을 수행 할 수도 있지만, 디자인에 어떤 의미가 있을지 생각해야합니다. http://office.microsoft.com/en-gb/access-help/delete-one-or-more-records-from-an-access-database-HA001173951.aspx –

답변

1

관계와 단일 쿼리를 사용하면됩니다.

  1. 는 일반적인 필드 products_id
  2. 장소
  3. 장소 캐스케이드 관련 삭제 "에 대한 상자에 체크 표시"참조 무결성을 적용 "에 대한 상자에 체크 표시를 기반으로 productsproducts_description 사이의 관계를 설정 또한 기록 "관계

저장

  • 그런 다음이 쿼리가 삭제됩니다 products에서 행 및삭제 된 products 행의 값과 일치하는 products_id 값을 포함하는 10 개의 행

    DELETE FROM products 
    WHERE 
         products.products_ordered=0 
        AND products.products_status=0; 
    

    이 길로 가면 그 결과를 이해하십시오. 추가 안전 장치로 유지하려는 데이터의 백업을 만들고 테스트하십시오. ;-)

  • +0

    +1 자세한 내용을 살펴 보았습니다. 이 시점에서 할 수있다. :) – Taryn

    +0

    옵션 중 하나를 선택하게하지 않습니다. –

    +0

    두 데이터베이스가 동일한 데이터베이스에 있습니까? 아니면 다른 데이터베이스의 테이블에 대한 링크입니까? 동일한 데이터베이스의 테이블간에 만 참조 무결성을 적용 할 수 있습니다. – HansUp