我正在尝试从有多列的表中获取数据,但是我只想获取同时用单一名称表示两个代码的那些行。喜欢
customer_id code
ct001 abc
ct002 xyz
ct001 xyz
ct003 abc
这里没有唯一或主键的值,现在查询应该只返回 ct001 ,因为它同时存在两个代码,即 abc 和 xyz 。
现在如何实现此目的,我正在尝试使用此查询。
$sql = "SELECT * FROM code_table WHERE code IN ('abc' ,'xyz')
AND customer_id= '" .$row['customer_id'] . "'";
我正在从另一个表获取客户ID,并在循环中使用此查询
答案 0 :(得分:2)
我想你想要
SELECT code
FROM code_table
WHERE code IN ('abc', 'xyz')
GROUP BY code
HAVING COUNT(*) = 2;
当您可以让数据库为您完成工作时,您不应在应用程序代码中循环。