PHP MYSQL-返回不同的值
我想比较两个表中的字段,看看这些字段是否具有相同的值 例如,PHP MYSQL-返回不同的值,mysql,compare,field,Mysql,Compare,Field,我想比较两个表中的字段,看看这些字段是否具有相同的值 例如, -我有两张桌子,“产品”和“愿望清单”。 -在这两个表中,它们具有相同的字段“prodId”和“userId”,以及其他字段,如“title”等。 -“wishlist”表包含表“products”中的一些相同行(例如,“products”中总共有10行,但表“wishlist”中只有6行) -我想显示“products”表中与“wishlist”表不同的字段/行,例如,它只显示4(因此不显示6的重复项),因此,我想使用“produc
-我有两张桌子,“产品”和“愿望清单”。
-在这两个表中,它们具有相同的字段“prodId”和“userId”,以及其他字段,如“title”等。
-“wishlist”表包含表“products”中的一些相同行
(例如,“products”中总共有10行,但表“wishlist”中只有6行) -我想显示“products”表中与“wishlist”表不同的字段/行,例如,它只显示4(因此不显示6的重复项),
因此,我想使用“products”表中的字段“prodId”和“userId”,并将其与“wishlist”表中的相同字段进行比较。
我该怎么做?
谢谢。A将返回两个表中具有匹配值的所有记录:
SELECT *
FROM
products p
JOIN wishlist w ON w.userId = p.userId AND w.prodId = p.prodId
编辑: 要返回所有不匹配的记录,请执行以下操作:
SELECT *
FROM
products p
FULL OUTER JOIN wishlist w ON w.userId = p.userId AND w.prodId = p.prodId
WHERE
p.Id IS NULL
OR w.Id IS NULL
编辑: 若要在
产品中显示在愿望列表中不匹配的记录,请使用左连接
:
SELECT *
FROM
products p
LEFT JOIN wishlist w ON w.userId = p.userId AND w.prodId = p.prodId
WHERE
w.Id IS NULL
你所说的比较到底是什么意思?如果你的意思是“加入”,那么你的答案如下,否则请详细说明你所说的“比较”是什么意思。如果你想找到不匹配的值(显示所有不匹配的值),你会怎么做;抱歉,我已更新了我的问题,请您在该问题上帮助我好吗?@qwerty It尝试将产品
加入到匹配的愿望列表
记录中,但仅返回在愿望列表
中未找到匹配项的记录(w.Id为NULL
)