두 테이블이 서로 관련되어 있고 하나의 테이블에서만 레코드를 삭제하려고합니다. 테이블 구조는 다음과 같습니다.MySQL 삭제 단일 테이블에서만 레코드
더 이상 사용 조건이 적용되지 않는 사용자를 삭제하고 싶습니다.
billcreateddate < 2011-12-30
billstatus=2 //pending
active='0'
unSubscribed<'2011-12-30'
나는 쿼리를 작성했으나 예상 한 바가 아닙니다.
select * from userBilling ubill, Users user
WHERE ubilll.userUnique=user.userUnique
AND ubill.billCreatedDate<'2011-12-30'
AND ubill.billstatus = '2'
AND ((user.active = '0') AND (user.unsubscribed>'2011-01-01')
AND user.unSubscribed<'2011-12-30'))
위의 쿼리에 두 표의 결과가 모두 포함되어 있다고 생각합니다. 제발 제안!
감사합니다,
위의 쿼리'DELETE's의 아무것도하지보십시오. –
이 쿼리에는'billingid' 필드가 반환됩니까? 이 쿼리는 삭제할 레코드를 제공합니까? – jamis0n
쿼리의 조건이 좋다고 가정하고 ('delete'를 호출하기 전에 값을 검색하기 위해'select'를 사용하고 있습니다), 테이블에 foreing 키가 있는지 확인 했습니까? – Cynical