1
我有三個表,t_group,t_group_linkman,t_linkman
。 T_group可以根據t_group表中的parent_id字段擁有其父組,並且t_linkman根據t_group_linkman表中的group_id字段擁有其父組。現在,我想選擇所有組和linkman。因此我編寫了sql,但是我發現我有兩次搜索該組。可以有人提出一些建議來更改我的sql語句嗎?如何在Oracle中使用結果時不僅一次存儲sql結果?
(select ''||id as id,parent_id as p_Id,name,null mobileNum1 from t_group)
UNION
(select tgl.group_id|'_'||l.id as id,tgl.group_id as
p_Id,l.name,l.mobile_Num1 from t_linkman l
inner join t_group_linkman tgl on tgl.LINKMAN_ID=l.id
where tgl.GROUP_ID in(select id from t_group
) and l.STATUS='Y')
現在在我的sql語句中,我有兩次搜索t_group。
例如,測試數據:
t_group表:
id |parent_id|name
---|---------|-------
1 |0 |group1
2 |0 |group2
3 |2 |group3
t_linkman表:
id|name |mobileNum1
--|---------|-----------
1 |linkman1 |15624157851
2 |linkman2 |15624157852
3 |linkman3 |15624157853
t_group_linkman表:
id|group_id | linkman_id
--|---------|-----------
1 |1 |1
2 |2 |2
3 |3 |3
4 |2 |3
而且我想返回結果LT(所有組和所有聯繫人):
id |parent_id|name |mobileNum1
----|---------|----------|-----
1 |0 |group1 |null
2 |0 |group2 |null
3 |2 |group3 |null
1_1 |1 |linkman1 |15624157851
2_2 |2 |linkman2 |15624157852
3_3 |3 |linkman3 |15624157853
2_4 |2 |linkman4 |15624157853
可能他們是瑪:M.One聯繫人可以在多個group.And一組能有多個聯繫人。 – Sarly
[SQL]作爲tg_id選擇tg.id,tg.parent_id如P_ID,tg.name,l.mobileNum1 從(t_group TG INNER JOIN t_group_linkman TGL上tgl.group_id = tg.id)作爲join1 LEFT JOIN t_linkman升在tgl.LINKMAN_ID = join1.id [錯誤] ORA-00933:SQL命令未正確結束 – Sarly
好的,給我幾分鐘來解決這個問題。錯過了一個重要部分 –