[英]Select from one table based on results of select from another table
我试图根据另一个表的选择结果返回一个表中的行,但是我对SQL / Oracle并不熟悉,并且很难将两者链接在一起。
ITEMS DEFS
item_id (1000) trans (1125)
item_state (Y) desp (680)
trans (1125)
orig_trans (1100)
总的来说,我正在尝试查询defs.desp编号,并返回items.item_id,item.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编号?
这不是您所需要的吗?
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
尝试:
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
你可以尝试下面的SQL
从要转移的项目中选择ITEM_ID,ITEM_STATE,ORIG_TRANS(从DEFS中的选择转移中DESP = 680);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.