3

1 つのクエリだけを使用して、親テーブルと子テーブルのレコードを削除したいと考えています。のフィールド名のCHILD1_TABLE親テーブルに子テーブル名があります。親テーブルには複数の子テーブルが含まれています。子テーブルと親テーブルの 1 つから 1 つのレコードのみを削除したいです。共通フィールドは、子テーブルと親テーブルの両方にあります。クエリを次のように書きます。PARENT_TABLETABLENAMEID

DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') CHILD 
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'

しかし、うまくいきません。誰でも私を助けることができますか?

4

3 に答える 3

2

これはどうですか:

DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT * FROM (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') AS CHILD)  
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'
于 2012-04-17T06:59:18.480 に答える
0

使ってみませんON DELETE CASCADEか?

于 2012-04-17T06:50:41.603 に答える
0
DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT * FROM (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') AS a)  as child
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'

このクエリについてはよくわかりませんが、試してみてください。

于 2012-04-17T07:11:31.370 に答える