- PR -

1対1でのデータ取得

1
投稿者投稿内容
まろ茶
会議室デビュー日: 2004/07/28
投稿数: 17
投稿日時: 2007-08-31 19:55
環境は以下の通りです。
DB:SQLサーバー 2005

下記の図のように格納されているデータを
を1対1で取得することは可能でしょうか?

TBL1
+--+-----+-----+
|ID|NAME |TELID|
+--+-----+-----+
|01|ABCD |0001 |
|02|BCDE |0001 |

TBL2
+-----+---+
|TELID|Num|
+-----+---+
|0001 |06 |
|0001 |03 |

SELECT NAME, Num
FROM TBL1
INNER JOIN TBL2
ON TBL1.TELID = TBL2.TELID
で求めると

+-----+---+
|NAME |Num|
+-----+---+
|ABCD |06 |
|ABCD |03 |
|BCDE |06 |
|BCDE |03 |

になります。
これを

+-----+---+
|NAME |Num|
+-----+---+
|ABCD |06 |
|BCDE |03 |

としたいのです。
TELID同士は
1度しか連結しないとしたいのですが
可能でしょうか。

[ メッセージ編集済み 編集者: まろ茶 編集日時 2007-08-31 19:57 ]
よっし〜。
ベテラン
会議室デビュー日: 2007/04/17
投稿数: 89
お住まい・勤務地: 北のほうの国
投稿日時: 2007-08-31 20:43
いまいち何をしたいのかが謎です。

これでも
+-----+---+
|NAME |Num|
+-----+---+
|ABCD |06 |
|BCDE |03 |

これでも
+-----+---+
|NAME |Num|
+-----+---+
|ABCD |03 |
|BCDE |06 |

どちらでも構わない、ということなのでしょうか?
結合条件がいまいち足りないのでは…
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-09-01 10:27
こんにちは

よっし〜。さんのいうように、どちらと結合されてもいいのでしょうか?
TBL2は何かのマスターなのでしょうか?
1レコードだけに絞りたいのなら、それなりの結合条件か主キーなどでのUNIQUEな値での結合が必要ですよ。

IDがIDの役目を果たしていないというのが率直な意見です
1

スキルアップ/キャリアアップ(JOB@IT)