[英]Does PHP+MySQL support this style of dummy table join?
我使用專有的服務器端語言,該語言位於Oracle數據庫的頂層。 使用這種語言,您可以使用虛擬表獲取填充有數據的現有記錄結構,並在與該表連接的記錄結構上運行查詢,就好像它是表一樣。
這是一個簡單的例子:
//DECLARE THE RECORD STRUCTURE
record data_out (
1 prsnl [*]
2 person_id = f8
2 full_name = vc
2 position = vc
2 status = vc
2 last_access_dt_tm = vc
2 role [*]
3 role_name = vc
3 role_id = f8
) with persistscript
//QUERY PEOPLE
select into "NL:"
from person p
where p.whatever_field = "QUALIFIER"
detail
a = a + 1
stat = alterlist(data_out->prsnl, a)
data_out->prsnl[a]->person_id = p.person_id
data_out->prsnl[a]->full_name = p.name_full_formatted
data_out->prsnl[a]->position = p.position
with time=10
//USE A DUMMY TABLE TO PULL IN MORE DATA FOR EACH PERSON
select into "NL:"
from (dumt d with seq = size(data_out->prsnl,5))
,rnd_role_def rrd
,rnd_r_assign_hx rah
plan d
join rah
where rah.team_id = data_in->team_id
and rah.prsnl_id = data_out->prsnl[d.seq]->person_id
and rah.handoff_dt_tm > cnvtdatetime(curdate-90,curtime)
join rrd
where rrd.role_id = rah.role_id
order by d.seq, rrd.role_name
head d.seq
i = 0
head rrd.role_name
i = i + 1
stat = altlist(data_out->prsnl[d.seq]->role, i)
data_out->prsnl[d.seq]->role[i]->role_id = rrd.role_id
data_out->prsnl[d.seq]->role[i]->role_name = rrd.role_name
with time=10
PHP + MySQL是否有類似的東西? 如果是這樣,能否以某種方式將我指向包含更多信息或操作方法的鏈接。 谷歌搜索並沒有為我帶來任何好處-可能是搜索了錯誤的關鍵字。
使用臨時表:
CREATE TEMPORARY TABLE temp1
臨時表將在當前會話中保留。 您可以通過普通的CREATE TABLE
語法定義臨時表的字段:
CREATE TEMPORARY TABLE temp1(
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50),
)
...或者您可以創建一個臨時表並允許查詢數據定義列:
CREATE TEMPORARY TABLE temp1;
INSERT INTO temp1
SELECT id, name FROM normal_table
文檔
CREATE TABLE
語法-http: //dev.mysql.com/doc/refman/5.1/en/create-table.html 您可以使用臨時表和INSERT SELECT語法來實現它,然后在以后刪除該表-但是,這樣做並不是最好的選擇
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.