次のような idpage に関連する製品を含むテーブルがあります。
+--------+-----------+-------------+-------------+
| idPage | idProduct | inputedName | inputedCode |
+--------+-----------+-------------+-------------+
| 25 | 60 | x | 8924 |
| 26 | 65 | y | 105555 |
| 26 | 70 | z | 105555 |
| 27 | 33 | a | 14151112 |
| 27 | 34 | a | 14151112 |
| 27 | 22 | a | 14151112 |
| 27 | 17 | b | OS987456 |
| 27 | 18 | c | |
| 27 | 17 | | |
| 27 | 23 | a | 14151112 |
+--------+-----------+-------------+-------------+
ID Unique はありません。
ユーザーがフォームに入力した InputedName と InputedCode。
ページ ビューでやりたいことは、InputedName x Inputed Code の DISTINCT の組み合わせを選択し、関連するすべての itens と交差または内部結合 (または何でも) を選択して、次のようなものを表示することです。
In idPage=27:
- a 141511112 (inputedName, inputedCode)
-- 33 (idProduct)
-- 34
-- 22
-- 23
- b OS987456
-- 17
- c (null)
-- 18
- (null)(null)
-- 17
それを行うための優れた方法はありますか、それとも基本的な方法が最適ですか? 基本的な方法、つまり、私は PHP を使用しています。最初にinputedNameとinputedCodeのDistinctの組み合わせを選択し(テーブルでそれを行う方法はまだわかりません)、PHPのwhileコマンドで別のクエリを実行します。この場合、5 つのクエリを実行します。私はそれがエレガントな解決策だとは思いませんが、mysql が強力であることを知っているので、別の方法があるかもしれません。