Php mysqli删除重复的完整行
我以前从未遇到过查询问题,但我就是无法让它工作。我有两个表格,一个叫做物品销售,另一个叫做物品清单。我的表单有一个下拉菜单,它可以从项目列表中获取所有项目 我需要做的是阻止该下拉列表中已经在items\u sale list+用户\u id=当前用户id上的任何项目 例如,我有第2项和第5项出售,这意味着第2项和第5项都不应该显示在下拉菜单中 我环顾四周,找到了添加DISTINCT和UNION之类的解决方案,但我似乎无法让它删除整行。例如,DISTINCT只删除了一个值,保留了另一个值 销售项目: 项目清单:Php mysqli删除重复的完整行,php,mysqli,Php,Mysqli,我以前从未遇到过查询问题,但我就是无法让它工作。我有两个表格,一个叫做物品销售,另一个叫做物品清单。我的表单有一个下拉菜单,它可以从项目列表中获取所有项目 我需要做的是阻止该下拉列表中已经在items\u sale list+用户\u id=当前用户id上的任何项目 例如,我有第2项和第5项出售,这意味着第2项和第5项都不应该显示在下拉菜单中 我环顾四周,找到了添加DISTINCT和UNION之类的解决方案,但我似乎无法让它删除整行。例如,DISTINCT只删除了一个值,保留了另一个值 销售项目
我要做的第一件事是将用户正在销售的所有商品放入一个数组,然后从不在数组中的items表中提取所有商品
<?php
$conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$currentUser = '1234';
$items = $conn->query("SELECT * FROM item_list WHERE item_ID NOT IN (SELECT item_id FROM items_sale WHERE user_id = '$currentUser')");
是否可以使用NOT IN子查询?您当前的查询是什么样子的?我认为您仍然需要按用户id筛选第二个查询。因此,您可以将这两个查询合并为1个查询。这太棒了!我不知道你可以使用NOT IN作为命令,我会经常使用它。