我试图根据另一个表中的select的结果从一个表中返回行,但我不熟悉SQL / Oracle并且正在努力将这两个链接在一起。
ITEMS DEFS
item_id (1000) trans (1125)
item_state (Y) desp (680)
trans (1125)
orig_trans (1100)
总的来说,我试图查询defs.desp号码,并返回items.item_id,items.item_state和items.orig_trans,但我无法判断我是否需要加入或子查询(或者如果我想要实现的目标首先是可能的!)
我喜欢的是:
SELECT I.ITEM_ID, I.ITEM_STATE, I.ORIG_TRANS
FROM ITEMS I
JOIN DEFS DF
ON I.TRANS = (*FIND 'TRANS' FROM DEFS TABLE USING THE DESP NUMBER BELOW*)
WHERE DF.DESP = 680
最终所需的输出是:
ITEM_ID ITEM_STATE ORIG_TRANS
1000 Y 1100
返回内容的顺序是什么引发了我,因为我的最终输出需要来自ITEMS表,但我需要找到的第一件事是来自DEFS表的TRANS号? / p>
答案 0 :(得分:0)
不是你需要的吗?
SELECT I.ITEM_ID, I.ITEM_STATE, I.ORIG_TRANS
FROM ITEMS I
JOIN DEFS DF
ON I.TRANS = DF.TRANS
WHERE DF.DESP = 680
答案 1 :(得分:0)
尝试:
SELECT I.ITEM_ID, I.ITEM_STATE, I.ORIG_TRANS
FROM ITEMS I
JOIN (
SELECT TRANS FROM DEFS WHERE DESP = 680
) DF
ON I.TRANS = DF.TRANS
答案 2 :(得分:0)
您可以尝试以下SQL
从ITEMS中选择ITEM_ID,ITEM_STATE,ORIG_TRANS TRANSING( SELECT TRANS FROM DEFS WHERE DESP = 680);