フォームの送信を記録するテーブルがあります。フォームの送信ごとに、次の変数があります。
userid
record
accountName
accountNumber
ユーザーがフォームを送信すると、テーブルにはrecord
各ラインアイテムの値が入力されます。つまり、値はすべて値によって一般的にリンクされていrecord
ます。、およびを列としてINNER JOIN
表示するテーブルに結果をフィルター処理しようとしています。私はこのコマンドに非常に近いです:userid
accountName
accountNumber
SELECT t1.value AS number, t2.value AS name, t3.value AS userid
FROM mytable AS t1
INNER JOIN mytable AS t3
INNER JOIN mytable AS t2 ON t1.record = t2.record
WHERE t1.name = 'addAccountNumber'
AND t2.name = 'addAccountName'
AND t3.name = 'userid'
唯一の問題は、結果がエントリごとに1つに制限されていないことです。テーブルに複数のインスタンスが表示されているようです。
WHERE
声明の一部を編集する必要があると思います。結果が名前の値を取得して結果をフィルタリングしていないように思われます。これを解決する方法について何か提案はありますか?
更新しました:
ここに示すように、呼び出しに2つの行のみを含めると、適切なフィルタリング結果が得られることを追加する必要があります。
SELECT t1.value AS accountNumber, t2.value AS accountName
FROM mytable AS t1
INNER JOIN mytable AS t2
ON t1.record=t2.record WHERE t1.name='addAccountNumber' AND t2.name='addAccountName'
それは私が何から来ているのかを示すのに役立つかもしれないと思った。だから、一般的にそれはuserid
私に問題を与えている変数を追加することと関係があります