Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL:消除两个表中的重复行_Php_Mysql_Sql - Fatal编程技术网

Php SQL:消除两个表中的重复行

Php SQL:消除两个表中的重复行,php,mysql,sql,Php,Mysql,Sql,我有两张桌子。我想比较两个表并删除重复的值。但首先我需要查找“A-Confirm-tbl”,如果id为Confirm,则只从上表中删除它。我写了一个简单的SQL代码,但它不起作用 SELECT A.id FROM A FULL JOIN B ON A.id = B.id AND A-Confirm-tbl.id='1' GROUP BY A.id A B 1 2 5 1 2 5 3 4 10 8 20 15 A-Confirm-tbl id confirm 1

我有两张桌子。我想比较两个表并删除重复的值。但首先我需要查找“A-Confirm-tbl”,如果id为Confirm,则只从上表中删除它。我写了一个简单的SQL代码,但它不起作用

SELECT A.id
FROM A
FULL JOIN B
ON A.id = B.id
AND A-Confirm-tbl.id='1'
GROUP BY A.id

A   B
1   2
5   1
2   5
3   4
10  8
20  15

A-Confirm-tbl
id  confirm
1   1
5   0
2   1
3   0
10  0
20  0

自由操作,但本质上我只需加入确认表,以仅获取确认值为1的a行,然后执行子选择以获取所有B ID,并仅从a中选择具有该子选择ID的行

SELECT A.id 
FROM A 
JOIN A-Confim-tbl aconf 
  ON A.id = aconf.id AND aconf.confirm = 1 
WHERE a.id IN (SELECT B.id FROM B)
我会这样做: 使用内部联接查找带有tblA和tblB的匹配记录id。然后使用A-Confirm-tbl连接记录,并仅使用Confirm=1筛选记录

SELECT * from tblA a 
INNER JOIN tblB b ON a.id=b.id 
JOIN A-Confim-tbl c on a.id=c.id 
WHERE c.confirm='1'
删除第一个\u表\u名称
从第一个\u表\u名称
内部联接第二个表名称
在第二个\u表上\u name.ID=第一个\u表\u name.ID
在第一个表上加入A-Confim-tbl\u name.ID=A-Confim-tbl.ID
其中A-Confim-tbl.confirm='1'

您看过本指南了吗?是 啊但我需要得到这些值。不要删除。顺便说一句,我已经搜索过了。我急需代码
A-Confirm-tbl
不完全是一个有效的表名…如果您有'A-Confirm-tbl.id='1',那应该是'A-Confirm-tbl.Confirm='1'?很抱歉,这只是一个示例表,我想这可能是'AND aconf.Confirm=1'