検索

ホームページ  >  に質問  >  本文

MYSQLのテーブル1を参照する3つのテーブルを結合し、値をカンマ区切りで結合します

3 つのテーブルを結合するときに問題が発生しました。 2 つのテーブルを結合する最初の試みは成功しましたが、3 番目のテーブルでは結果が正しくありません...

3 つのテーブルがあります。machine_listmainTable、次に applicable_rpmapplicable_productmachine_list 情報の詳細です

テーブル:machine_list

リーリー

テーブル:applicable_rpm

リーリー

フォーム:applicable_product

リーリー

次のように返したい:

リーリー

私は最初に次のクエリを使用して 2 つのテーブルを結合しようとしました:

リーリー ###消す:### リーリー

これは正しいですが、3 番目のテーブルを試してみると、その値が重複します。

これは私の質問です:

リーリー ###消す:### リーリー ###どうすればいいですか?

P粉208469050P粉208469050562日前600

全員に返信(2)返信します

  • P粉198749929

    P粉1987499292023-09-12 12:19:03

    結合により重複行が生成されているようです。

    サブクエリを使用すると、目的の出力を実現できます。

    リーリー

    これにより、期待した出力が返されます:

    ###生産ライン### MN-1 ###単核症### 20、25
    機械コード マシン速度
    20 MN-2
    単結晶、多結晶

    返事
    0
  • P粉545218185

    P粉5452181852023-09-12 00:17:19

    グループ化しない場合、MN-2 に関連付けられた行が 2 つあることがわかります。したがって、group_concat を実行すると、選択した列の値が両方の行に表示されます。

    リーリー

    ここではネストされた選択を使用する必要があります。次のようなもの:

    リーリー

    後付けの考えとして、GROUP_CONCAT に DISTINCT を使用してみることもできます

    リーリー

    返事
    0
  • キャンセル返事