5

ユーザー用のテーブルがあります。ただし、ユーザーがプロファイルに変更を加えると、承認するまで一時テーブルに保存します。その後、データはライブ テーブルにコピーされ、一時テーブルから削除されます。

私が達成したいのは、管理パネルでデータを表示するとき、またはユーザーが送信する前に再確認できるページで、id がある両方のテーブルからデータを取得できるようにする単一のクエリを作成することです。どちらも $userid に等しい。次に、古い値が左の列に表示され、新しい値が右の列に表示される表形式で表示したいと思います。

いくつかのSQLソリューションを見つけましたが、両方の列が同じ名前であるため、phpでそれらを使用して結果をエコーする方法がわかりません。

4

4 に答える 4

10

列名に追加ASすると、別の名前にエイリアスできます。

SELECT table1.name AS name1, table2.name AS name2, ...
  FROM table1
  INNER JOIN table2
    ON ...
于 2012-04-16T05:05:35.907 に答える
1

AS SQLキーワードを使用すると、そのクエリの結果に合わせて列の名前を変更できます。

SELECT
    `member.uid`,
    `member.column` AS `oldvalue`,
    `edit.column` AS `newvalue`
FROM member, edit
WHERE
    `member.uid` = $userId AND
    `edit.uid` = $userId;

それらの線に沿った何かがあなたのために働くはずです。SQLは私の強みではないので、正しいフィールドと値を持つテーブルであっても、このクエリはそのままでは機能しないと確信しています。

于 2012-04-16T05:10:07.973 に答える
1

必要なクエリは次のとおりです。たとえば、2 つのテーブルに名前フィールドがあるとします。表 1 のログインと表 2 の情報。今

SELECT login.name as LoginName , information.name InofName 
FROM login left join information on information.user_id = login.id

LoginNameこれで、必要な場所で使用できますInofName

于 2012-04-16T05:05:25.173 に答える
-2

MySQL を使用しますJOIN。また、1 つの mysql クエリで 2 つのテーブルからすべてのデータを取得できます。

SELECT * FROM `table1`
JOIN `table2` ON `table1`.`userid` = `table2`.`userid`
WHERE `table1`.`userid` = 1
于 2012-04-16T05:06:29.417 に答える