アプリ版:「スタンプのみでお礼する」機能のリリースについて

SELECT テーブル名.A テーブル名.B FROM テーブル名 WHERE テーブル名.A = Y テーブル名.B = Z

SELECT 別テーブル名.A 別テーブル名.B FROM 別テーブル


という2つのSQLがあったとします。この時、別テーブルのSELECT文より取得してきた、AとBを上の式の条件(Y,Z)で両方同時に使用したい場合、どのようなSQLを書いたら良いのでしょうか? 1文にまとめて書く場合です。

A 回答 (3件)

2つの問い合わせを1度に行いたいといことでしょうか?



であるなら..

SELECT テーブル名.A テーブル名.B FROM テーブル名 WHERE テーブル名.A = Y テーブル名.B = Z
UNION ALL
SELECT 別テーブル名.A 別テーブル名.B FROM 別テーブル
    • good
    • 0

簡単に示すため、


テーブル名=TBL1、別テーブル名=TBL2
とします。
お使いのORACLEの条件式で、
(列名1,列名2,...) 演算子 (値1,値2,...)
という指定方法がサポートされているか、確認願います。

SELECT TBL1.A,TBL1.B FROM TBL1
WHERE (TBL1.A,TBL1.B) IN(SELECT TBL2.A,TBL2.B
FROM TBL2)

回答No1の列の連結でも可能と思われますが、「インデク
スが利用されない」といった性能上の問題があるかも
知れません。
    • good
    • 0

うーん。

ちょっと条件がわからないのですが。。
こんなのはだめでしょうか?
(ご期待にそえるかわかりませんが・・・)

SELECT テーブル名.A
テーブル名.B
FROM テーブル名
WHERE テーブル名.A | テーブル名.B
IN (SELECT 別テーブル名.A | 別テーブル名.B
FROM 別テーブル)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!