複数の検索結果をSELECT条件にしたい
SELECT
KANRI_NO
,EDA_NO
,NO_S
,NO_E
FROM
KANRI_TBL
WHERE
KANRI_NO='1'
ORDER BY EDA_NO;
の検索結果が、
KANRI_NO ,EDA_NO ,NO_S ,NO_E
1 , 1 , 1 , 10
1 , 2 , 52 , 60
1 , 3 , 90 , 99
のような結果をVBで、
SELECT
*
FROM
SYOSAI_TBL
WHERE
BETWEEN 1 AND 10
BETWEEN 52 AND 60
BETWEEN 90 AND 99;
のような形の編集しています。
これをひとつのSQL分では書けないのでしょうか?
教えてください
投稿日時 - 2005-03-16 19:56:55
こんばんは。
補足ありがとうございます。
1箇所だけ不明ですが、下記のような感じですね。
SELECT *
FROM SYOSAI_TBL,
(SELECT NO_S, NO_E
FROM KANRI_TBL
WHERE KANRI_NO = '1') AS KANRI
WHERE SYOSAI_TBL.???(←これが何かわからない・・・)BETWEEN KANRI.NO_S AND KANRI.NO_E
とりあえず取れますが、希望通りかどうか・・・。
(^^ゞ
投稿日時 - 2005-03-18 21:07:38
ありがとうございます。
助かりました。
これからも、がんばって勉強していきたいと思います。
回答くださった方、ありがとうございました
投稿日時 - 2005-03-19 11:42:19
このQ&Aは役に立ちましたか?
4人が「このQ&Aが役に立った」と投票しています
回答(4)
こんばんは。
VB側の処理が、イマイチ不明なんですが・・・。
どのカラムをBETWEENで抽出しているのでしょうか?
BETWEENの結果をORでくっつけるような感じに見えるのですが・・・。
もう少し補足をお願いします。
(^^ゞ
投稿日時 - 2005-03-16 20:14:21
すみません PGはじめたばかりで質問の仕方がうまくなくて
VBでのソースです。
DIM SQL AS STRING =""
SQL= SQL & "SELECT KANRI_NO ,EDA_NO ,NO_S ,NO_E"
SQL= SQL & "FROM"
SQL= SQL & " KANRI_TBL"
SQL= SQL & "WHERE"
SQL= SQL & " KANRI_NO='1'"
SQL= SQL & "ORDER BY EDA_NO;"
Dim CMD As New OracleCommand(SQL, con)
Dim Rdr As OracleDataReader = CMD.ExecuteReader
DIM SQL2 AS STRING =""
While Rdr.Read
if SQL2 <> "" THEN SQL2 = SQL2 & " OR "
SQL2 = SQL2 & " BETWEEN " & Rdr.Item("NO_S") & " AND " & Rdr.Item("NO_E")
End While
SQL2= "SELECT * FROM SYOSAI_TBL WHERE " & SQL2 & ""
今は、こんな感じで再度SQLを流しているのですが
はじめのSQlに結合して、1SQLでできないかと
投稿日時 - 2005-03-17 09:07:56