PHP ベースの Web ソフトウェアを構築しようとしていますが、ソリューションの構文がわからない問題に遭遇しました。
基本的に、私は2つのテーブルを持っています:
+-------------+ +---------------+
| Certs | | Clients |
+-------------+ +---------------+
| userID | | eID |
| prodID | | prods |
| prodName | +---------------+
+-------------+
ここでは、個人が購入するすべての製品は、その個人の一意の userID と製品の一意の prodID によって保存されます。
クライアントは、異なる ID を持つ売り手と、コンマで区切られた製品 ID の文字列である製品のようなものです。
certs テーブルの行の例は次のようになります。
userID | prodID | prodName
------------------------------
9000 | 42 | Pen
4234 | 54 | Pencil
9000 | 54 | Pencil
クライアント行の例は次のようになります。
eID | prods
-------------
595 | 42,54
ここで、特定の販売者のすべての製品を購入したすべてのユーザー ID を返すクエリを作成する必要があります。
たとえば、売り手 ID 595 の場合、userID 9000 は 42 と 54 の両方を購入したため、9000 を返す必要があります。
テーブル構造は便宜上変更できますが、他の技術的な理由により、販売者に関連付けられた製品の正規化されたリストを作成することはできません.
どんな助けでも大歓迎です!ありがとう〜
注: 別の言い方をすれば、売り手の商品のリストを結果型の配列に保持することです。次に、SELECT prodID FROM certs WHERE userID = x そして最後に、prodID の結果配列に配列 prod のすべての要素があるかどうかを確認します。