使用子查询/连接插入列

时间:2016-12-05 20:13:23

标签: sql join insert apex

我在将正确的数据插入表格时遇到了麻烦。我有如下表格:

以下是包含数据的表格:

•剧院(Theatre#,Name)
•Trow(TR#,RowName,RowType,Theatre#)
•Tseat(TS#,SeatNo,TR#)
•季节(季节#,季节名称,年份)
•制作(P#,季节#,标题)
•ProductionRun(P#,Theatre#)
•表演(Per#,P#,Theatre#,Weekday)
•客户(客户#,姓名)
•TicketPurchase(购买#,客户#,Per#,TotalAmount,TS#)

我的表格如下:

•ProductionMy(P#,Title)

在此表中,我想在表生产中插入 P#标题列,并仅插入Per#列中的行table性能匹配表TicketPurchase中的Per#列

另一个例子是:

•TimeID(TimeID,Month,Year,Weekday,SeasonName)

如果 Per#,则需要根据条件从表格中插入唯一的时间实例,并从季节表中插入季节名称 TicketPurchase 表中的表和 Per#匹配。我试过下面的例子没有成功:

插入时间选择time_seq.nextval,month,year,weekday,SeasonNAme from (选择不同的
提取(月份来自pDate)月, 提取物(年份来自pDate)年份, 平日, SeasonName 来自表演,季节);

或者另一个例子。我有桌子:

TRowMY (TR#,ROWTYPE)

我想根据 TicketPurchase 中的TS#列标准,在此处插入来自 RowType 表中 RowType,TR#列的数据表格与 TSeat 表中的 TS#列匹配。

或者另一个例子,我的表:

ClientMy(客户端#,名称)

我希望仅在客户端表中客户端#时从客户端列中插入客户端号,名称列匹配 TicketPurchase 表中的 CLient#

基本上我需要插入与门票销售有关的数据,因为并非表格中的所有表现,季节或制作/客户都在 TicketPurchase 表中。

我真的被困在这里,请你能帮助我一些桌子,以便我知道应该由谁来处理休息。

希望我已经很好地解释了这一点......

此致

1 个答案:

答案 0 :(得分:0)

我相信你正在寻找这样的东西。

INSERT INTO ClientMy(id, name)
SELECT Client#,Name FROM Client AS C1 WHERE Client# IN (SELECT Client# FROM
TicketPurchase WHERE Client# = C1.Client#)

也许我错了,但我想我并不完全明白你的想法。