• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:結合?の方法がわかりません)

結合の方法がわかりません

このQ&Aのポイント
  • データが名前 A B C A 1 A 2 A 3 B 5 B 6 のような形で構成されております。
  • このデータを名前 A B C A 1 2 3 B 5 6 のようにしたいのですが、言語が4th dimensionという言語なので調べてもなかなか出てきません。
  • 適当な変数を使ってこのデータを一覧として出力したいのです。お分かりの方ご教授をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

 4th Dimension の名前だけしか知りませんが、たぶんSQLで操作する機能もあるでしょうから、目論見の動作をちょっとSQLで記述してみます。 SELECT 名前,Max(A),Max(B),Max(C) FROM データテーブル WHERE 名前 IN (SELECT DISTINCT 名前 FROM データテーブル);  大筋の考え方は合っていると思いますが、複数のMax()関数を同時に使うとヒットしない値が出てくるかもしれません。また、値が空白のときに何が表示されるかが不明ですので、様々なテストデータで試して改良してみて下さい。

it_kenta
質問者

お礼

返事が大変遅れまして申し訳ございません。色々やった結果、正規化されていないテーブルを強引に一つにまとめようとしていたのが判明したので(と言っても仕様上このテーブルだけ正規化したらダメというルールがあったので一覧にしたくてもできなかったというオチですが…)上司の上申して新たなテーブルの構築の許可を得て新しいテーブルを使って一覧表示する事にした次第です。 SQLで行くと確かにseastar3さんのおっしゃる通りだと思います。自分のその形で構築していたのですが、テーブルの関係上一覧表示が困難でしたので諦めた形になりました。 すいませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • left joinなどで結合対象のレコードから1件だけ得る方法は

    テーブル1 番号(ユニーク) その他のデータ 1  データ 2  データ 3  データ ... テーブル2 番号 名前 その他のデータ 1  名前A データ 1  名前A データ 2  名前B データ 3  名前C データ 3  名前C データ ... を、結合を使って 1  名前A テーブル1のデータ 2  名前B テーブル1のデータ 3  名前C テーブル1のデータ ...というようにしたいのですが、group by をつかわないで得る方法はありますか?(対象テーブルから1件だけ結合したい。) たとえば、複数の結合をこのようにした時、if()の中のカウントが、他の結合の影響を受けてしまいます。 select a.*,b.名前,if(count(c.番号) > 1,"複数",c.名前) from テーブル1 a left join テーブル2 b on b.番号 = a.番号 left join テーブル3 c on c.番号 = a.番号 group by a.番号,b.番号,c.番号 わかりづらい質問ですみません。

  • エクセルの結合

    こんな風に結合をすることはできますか? A1,A2,A3,B1,B3,C1,C2,C3 を結合する。 B2は結合せずに、『回』の字のような形に結合する お分かりになる方いらっしゃいましたら、ぜひ教えて下さい。

  • 2つのフィールドを結合する方法

    こんにちは。 SQL文について質問させていただきます。 SQL Serverで、2テーブルの、2つのフィールドを結合して、結果を出力したいと考えています。 以下条件の場合、どのように命令を記述すればよいのでしょうか? 宜しくお願いします。 テーブル名:SOFT キー:SOFTID、VER 役目:ソフトウェアのマスタです。 テーブル構成:以下 SOFTID VER SOFTNAME A     10  ASOFT A     9   ASOFT B     3   BSOFT C     5   CSOFT C     4   CSOFT テーブル名:PC キー:PCID、SOFTID、VER 役目:PCにインストールしたソフト情報です。 テーブル構成:以下 PCID SOFTID VER 1    A   10  1    B   3 2    C   5 2    C   4 3    B   3 結果 結合キー:SFOTID、VER 役目:PCテーブルを元にし、インストールしたソフトのバージョン、名前を表示します。 PCID SOFTID VER SOFTNAME 1    A   10  ASOFT 1    B   3   BSOFT 2    C   5   CSOFT 2    C   4   CSOFT 3    B   3   BSOFT

  • 結合した文字列をファイル名に使えない

    Excel上に入力されているパス名とファイル名のデータを組み合わせて、 様々なファイルを開いたりコピーしたりするVBAのコードを作ろうとしています。 仮にシート上のA1セルに、C:\Documents and Settings\デスクトップ というパス名 A2セルに URIAGE.xls というファイル名が入力されていたとして、 A1の文字列データとB1の文字列データを結合する場合、 Sub FileSousa()  Dim a As String  Dim b As String  Dim c As String  a = Cells(1, "A").Value  b = Cells(2, "A").Value  c = Chr(34) & a & "\" & b & Chr(34)  Range("A3") = c としてみると、確かにA3セルには、"C:\Documents and Settings\デスクトップ\URIAGE.xls" と出力され、文字列が結合されたことがわかるのですが、その変数cのデータを使って  Workbooks.Open Filename:=c として、そのファイルを開こうとすると、ファイル名が見つからないとしてエラーになります。 ファイルはデスクトップ上の確かにその名前で存在しており、直接 Workbooks.Open Filename:="C:\Documents and Settings\デスクトップ\URIAGE.xls" とすると開きます。 " を Chr(34)によって入力したのがいけないのでしょうか、 Workbooks.Open Filename:=××× には、変数を置いてはいけないのでしょうか。 そもそも文字列の結合は、"あ" & "い" → "あい" となるのが基本だと思うのですが、 a="あ"、b="い"、c=a&b → c="あい"として結合した変数cについては、ファイル操作上のファイル名の設定項目として使えないのでしょうか。

  • 外部結合について

    こんばんは。 SQLでの外部結合について教えてください。(オラクルの場合です) データを取得しいテーブルが4つあったとします。 Aテーブルのキーは、「ユーザーID」と「名前」と「住所」だとします。 Bテーブルのキーは、「名前」と「郵便番号」とします。 Cテーブルのキーは、「名前」と「郵便番号」とします。 取得したいデータは、全てのテーブルに存在しています。 Aテーブルに対してBテーブルとCテーブルを外部結合したいと思っています。 Aテーブルには「ユーザーID」があります。 Bテーブルからは、「給料」データが取得したいのです。 Cテーブルからは、「年齢」データが取得したいのです。 B,Cのテーブルに条件に合致するものがなくても、AのユーザーIDだけは 表示したいと思っています。 自分なりに考えて色々試したのですが、うまく行かず構文でエラーになります。 どうしてもAテーブルに外部結合したいです。 SELECT  A.ユーザーID,  B.給料,  C.年齢 FROM  A,  B,  C WHERE  A.ユーザーID = ’XXXXX’,      A.名前 = ’AAAAAA’,      A.住所 = ’KKKKKKKKKKK’,      A.名前(+) = B.名前,      A.名前(+) = C.名前,      A.郵便番号(+) = B.郵便番号,      A.郵便番号(+) = C.郵便番号 このように考えたのですが,「すでに1つの表と外部結合されています」みたいに エラーがでてしまいます。 どのように修正すれば、よいのでしょうか? よろしくお願い致します。      ※全角になっているなどは、見やすくする為にやっています。

  • テーブル結合について

    テーブルの結合についてお聞きしたいことがあります。 カラム「KEY」を結合条件に テーブルA、B、Cを結合して【取りたい結果】のようなデータを取りたいと思っています。 しかし、テーブルAにBとCをLEFT JOINを結合した所、 【取得された結果】のデータが取得されました。 どのような結合をしたら期待通りの結果が得られるのでしょうか? 回答宜しくお願いします。 【取得された結果】 key dataA dataB dataC ------------------------------------------------- 1 A-1 B-1 C-1 A-1 B-1 C-2 A-1 B-1 C-3 2 A-2 3 A-3 【取りたい結果】 key dataA dataB dataC ------------------------------------------------- 1 A-1 B-1 C-1 A-1 C-2 A-1 C-3 2 A-2 3 A-3 【テーブルA】 key dataA --------------------- 1 A-1 2 A-2 3 A-3 【テーブルB】 key dataB --------------------- 1 B-1 【テーブルC】 key dataC --------------------- 1 C-1 1 C-2 1 C-3

  • 1つのテーブル・2つの列を結合して1つの検索結果に

    あるテーブルAがあり、そこにINT型の列bと列cがあるとします。 |b|c| |1|2| |1|3| とデータが格納されているとき、ここから[1,2,3]という風に、重複のない結合結果を出すにはどういったSQLを書けば良いでしょうか。 2列だとDISTINCTも使えず、簡単そうなのに自分ではできませんでした。出力後に結合するのでは色々と不都合なことがあったため、この出力が一発で出せれば便利だと思い質問させていただきました。ご回答よろしくお願いいたします。

  • セルデータの結合に関して

    2007にて作成中の表にてデータ結合すべく数式を入れても機能しません。 仮に、セルA1,B1,C1を結合すべくセルD1に「=A1&B1&C1」としても結合となりません。検証のため別シートにてA1,B1,C1にそれぞれ1,2,3と入れやってみるとD1には123となります。 どこがおかしいのでしょうか?点検、確認してみるべき点をご指摘ください。

  • 配列の結合

    変数1 Array ( [A] => あいうえお ) 変数2 Array ( [B] => わおん ) というような二つの変数の配列を Array (   [A] => あいうえお   [B] => わおん ) というように、ひとつの変数内に結合する方法はないでしょうか?

    • ベストアンサー
    • PHP
  • 結合セルに結合していないセルの値を貼り付けたいです。

    結合セルに結合していないセルの値を貼り付けたいです。 シート1の1行目の[A1-B1-C1-D1]を結合しています。以下同じように[E1-F1-G1-H1]…のように4つづつ結合しています。 この行に、シート2のA1→B1→C1と続く結合していないセルのデータを貼り付けたいのですが、やりかたがわかりません。色々やってみたのですが、うまくゆきません。ご教授お願いいたします。