2つのテーブルを結合します(1つは連結する必要があります)

ジャンナ・ハートリー

WordPressデータベースに2つのテーブルがあります。1つのテーブルは「users」であり、次の列が含まれています:ID、user_url、user_email

これを、user_ID、meta_key、meta_valueの列を含むが、最初に行を連結する必要がある2番目のテーブル「usermeta」に結合する必要があります。

user_id meta_key    meta_value
1       first_name  Joe
1       last_name   Smith
2       first_name  Jane
2       last_name   Doe

になる必要があります

user_id meta_key                meta_value
1       first_name,last_name    Joe,Smith
2       first_name,last_name    Jane,Doe

私は以下を使用してテーブルを結合することができました:

$result = mysql_query("SELECT * FROM users
INNER JOIN usermeta ON usermeta.user_id = users.ID
GROUP BY usermeta.user_id");

ただし、結果を出力/エコーする場合は、「echo $ row ['meta_value'];」指定されたIDの最初の行のみを返します。

グループ化しないと、user_idごとに複数の行が表示されます

以下を使用して連結作業を行うことができます。

$result = mysql_query("SELECT user_id, GROUP_CONCAT(meta_value) AS Customer_Address
FROM usermeta
WHERE usermeta.meta_key='first_name' 
or usermeta.meta_key='last_name' 
or usermeta.meta_key='paupress_address_one_1' 
or usermeta.meta_key='paupress_address_city_1' 
or usermeta.meta_key='paupress_address_state_1' 
or usermeta.meta_key='paupress_address_postal_code_1'
or usermeta.meta_key='user_type'
or usermeta.meta_key='telephone'
or usermeta.meta_key='paupress_field_business'
GROUP BY user_id");

ただし、このソリューションでは最初のテーブルにアクセスできません。1つのテーブルを連結し、ユーザーIDに基づいて別のテーブルに結合して、電子メール、URL、および連結された「Customer_Address」の値を出力できるようにする方法が必要です。

いろいろな組み合わせやサブクエリを試しましたが、うまくいかないようです

スクワット

最初のクエリと2番目のクエリを組み合わせる必要があります。これが要約版です:

SELECT u.user_id, 
     u.email,
     u.url,
     GROUP_CONCAT(meta_value) AS customer_address
FROM user u
     JOIN usermeta um ON u.user_id = um.user_id
WHERE um.meta_key IN ('first_name','last_name')
GROUP BY u.user_id

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

2つのテーブルを結合します(1つは連結する必要があります)

分類Dev

MySQLは2つのテーブルを結合し、結果はINthird_tableである必要があります

分類Dev

3つのテーブルを結合する必要があります。DateTimeフィールドで注文し、1で制限する必要があります

分類Dev

MySQLは3つのテーブルを結合し、1つのテーブルからの結果を除外する複数の列があります

分類Dev

nettyサーバーは2つのhttpコンテンツを受信しますが、それらは1つに結合する必要があります

分類Dev

2つのテーブルのデータを使用しますが、結合する必要はありませんか?

分類Dev

Postgresql-2つのテーブルを結合します。結果には、値がt2からのものである追加の列があります。

分類Dev

2番目のテーブルを何度も結合する必要がある2つのテーブルを結合します

分類Dev

3つのテーブルを結合します。2つは関連しており、1つは他の2つとは無関係です

分類Dev

2つのテーブルを結合する-1つは選択あり、もう1つは変更なし

分類Dev

SQL Server:2つのテーブルを結合し、競合がある1つのテーブルからの結果を優先します

分類Dev

2つのテーブルを1つに結合します

分類Dev

Oracle Sql-2つのテーブルがあり、table2の結果でtable1をフィルタリングする必要があります。table2が空の場合、table1のすべてを返す必要があります

分類Dev

2つのテーブルを結合しようとすると、合計が正しくありません

分類Dev

MYSQL-1つのクエリで2つのテーブルを結合しますが、2つのWHERE / IN句があります

分類Dev

csvファイルを1つに結合してから、csvにmysqlのテーブルにインポートする必要があります

分類Dev

テーブルit_coursesフィールドcourse_branchの最初の行に2つの値があります。ブランチテーブルをit_coursesテーブルと結合すると、結果は1つだけになります

分類Dev

通常、2つの列で2つのテーブルを結合する方法ですが、列の1つにnullが含まれている場合、結果には別の列のみに一致する行が含まれている必要がありますか?

分類Dev

いくつかの条件に基づいて、結合テーブルを変更する必要があります

分類Dev

内側、外側、または右の3つのテーブルで結合します。1つは結合するものと同じPKを持ちますが、1つ目はそうではありません。

分類Dev

LISTAGGまたは他の連結関数を使用して2つのテーブルを結合します

分類Dev

同じテーブルを 2 回左結合しますが、1 つの列が繰り返されます

分類Dev

CROSSで結合している2つのテーブルの1つに重複がある場合、出力にも重複がありますか?

分類Dev

PostgreSQLを使用して2つの列を1つだけに結合する必要があります

分類Dev

zipで2つのテーブルを結合しようとしています-1つのテーブルには先行ゼロがなく、もう1つのテーブルには先行ゼロがあります

分類Dev

2つのテーブルを結合しますが、すべてのキーが両方で使用できるわけではありません

分類Dev

結果として1つのテーブルを取得するには、2つのクエリを結合するのに助けが必要です

分類Dev

Hibernate Criteria は 2 つのテーブルを結合します

分類Dev

クエリでOracleSQLServerの2つのテーブルを結合するのに問題があります

Related 関連記事

  1. 1

    2つのテーブルを結合します(1つは連結する必要があります)

  2. 2

    MySQLは2つのテーブルを結合し、結果はINthird_tableである必要があります

  3. 3

    3つのテーブルを結合する必要があります。DateTimeフィールドで注文し、1で制限する必要があります

  4. 4

    MySQLは3つのテーブルを結合し、1つのテーブルからの結果を除外する複数の列があります

  5. 5

    nettyサーバーは2つのhttpコンテンツを受信しますが、それらは1つに結合する必要があります

  6. 6

    2つのテーブルのデータを使用しますが、結合する必要はありませんか?

  7. 7

    Postgresql-2つのテーブルを結合します。結果には、値がt2からのものである追加の列があります。

  8. 8

    2番目のテーブルを何度も結合する必要がある2つのテーブルを結合します

  9. 9

    3つのテーブルを結合します。2つは関連しており、1つは他の2つとは無関係です

  10. 10

    2つのテーブルを結合する-1つは選択あり、もう1つは変更なし

  11. 11

    SQL Server:2つのテーブルを結合し、競合がある1つのテーブルからの結果を優先します

  12. 12

    2つのテーブルを1つに結合します

  13. 13

    Oracle Sql-2つのテーブルがあり、table2の結果でtable1をフィルタリングする必要があります。table2が空の場合、table1のすべてを返す必要があります

  14. 14

    2つのテーブルを結合しようとすると、合計が正しくありません

  15. 15

    MYSQL-1つのクエリで2つのテーブルを結合しますが、2つのWHERE / IN句があります

  16. 16

    csvファイルを1つに結合してから、csvにmysqlのテーブルにインポートする必要があります

  17. 17

    テーブルit_coursesフィールドcourse_branchの最初の行に2つの値があります。ブランチテーブルをit_coursesテーブルと結合すると、結果は1つだけになります

  18. 18

    通常、2つの列で2つのテーブルを結合する方法ですが、列の1つにnullが含まれている場合、結果には別の列のみに一致する行が含まれている必要がありますか?

  19. 19

    いくつかの条件に基づいて、結合テーブルを変更する必要があります

  20. 20

    内側、外側、または右の3つのテーブルで結合します。1つは結合するものと同じPKを持ちますが、1つ目はそうではありません。

  21. 21

    LISTAGGまたは他の連結関数を使用して2つのテーブルを結合します

  22. 22

    同じテーブルを 2 回左結合しますが、1 つの列が繰り返されます

  23. 23

    CROSSで結合している2つのテーブルの1つに重複がある場合、出力にも重複がありますか?

  24. 24

    PostgreSQLを使用して2つの列を1つだけに結合する必要があります

  25. 25

    zipで2つのテーブルを結合しようとしています-1つのテーブルには先行ゼロがなく、もう1つのテーブルには先行ゼロがあります

  26. 26

    2つのテーブルを結合しますが、すべてのキーが両方で使用できるわけではありません

  27. 27

    結果として1つのテーブルを取得するには、2つのクエリを結合するのに助けが必要です

  28. 28

    Hibernate Criteria は 2 つのテーブルを結合します

  29. 29

    クエリでOracleSQLServerの2つのテーブルを結合するのに問題があります

ホットタグ

アーカイブ