2017-04-17 12 views
-2

私はユーザテーブルで自分のuser_currenciesテーブルにLEFTを参加させようとしていますが、その方法はわかりません。 は、私はテーブル2つのテーブルを一緒に追加します。同じテーブル名でも内容は異なります

users with: users.id, users.username, users.password, etc, 

を持っていると私は、テーブルを持っている:

user_currencies with 
user_currencies.user_id (= users.id), user_currencies.type = 5, user_currencies.type = 10 
with user_currencies.amount = 200 for example 

私は追加したい:

user_currencies.amount with user_currencies.type = 5 to: users.diamonds (alias)を。

And user_currencies.amount with user_currencies.type = 10 to: users.duckets (alias). 

どのようにすればよいのですか?

これが私の現在のテーブル構造です:

users structure

users_currencies structure

+1

テーブルを追加するとどういう意味ですか?いくつかのサンプルデータと取得しようとしている結果を共有できますか? – Mureinik

+0

両方のテーブルで異なる列(外部キーなし)。あなたは列名を追加できますか? – Blasanka

+0

私はそれを忘れて申し訳ありませんでした(users.id = user_currencies.user_id) –

答えて

0

あなたが探している単語がJOINです。あなたはあなたのテーブルに参加したい、それらを追加しない。

 SELECT users.id, users.username, users.password, 
      users_currencies.type, users_currencies.amount 
     FROM users 
    LEFT JOIN users_currencies ON users.id = users_currencies.user_id 
           AND users_currencies.amount <> 0 

これにより、各ユーザーの通貨ごとに1行が表示され、金額がゼロの行は除外されます。 1人のユーザーあたり1行以上は必要です。

+0

Works great thanks :) –

関連する問題