私は2つのテーブルを持っています。1つはアイテムです。2つ目はカテゴリ別のアイテム(catitems)です。どちらのテーブルにもユーザー フィールドがあります。
最初のテーブル (items) でユーザーごとにすべてのアイテムを選択し、特定のカテゴリに割り当てられた 2 番目のテーブル (catitem) でそれらのアイテムを除外するクエリが必要です。つまり、最初のテーブルからユーザーごとのアイテムのリストを取得しますが、2 番目のテーブルにアイテム、猫、ユーザーを含む行がある場合、そのアイテムを除外します。
概略的には、Select item FROM items where userid=1 but exclude item WHERE (in second table) (cat = "something" AND userid=1.) のようなものになります。
次のことを試しましたが、表 2 にある項目を除外していません。何が間違っていますか?
$sql = "SELECT i.*
FROM `items` i
LEFT JOIN `catitems` c
ON i.userid = c.userid
WHERE (c.userid = '$userid' && c.tcircle != '$cat')";