SQL:连接两个表以选择另一个表中引用的多个列

时间:2016-04-20 05:06:57

标签: sql join stored-procedures

我一度陷入困境。我有一个表结构

enter image description here

我需要结果

enter image description here

我试图加入,联盟等表,但我无法得到它。 能帮到我吗。谢谢你。

2 个答案:

答案 0 :(得分:4)

假设您的第一个表格为private void parseData(){ try { JSONArray jsonArray=new JSONArray(response); JSONObject jsonObject=jsonArray.getJSONObject(0); JSONArray jsonArrayNid=jsonObject.getJSONArray("nid"); JSONArray jsonArrayUid=jsonObject.getJSONArray("uid"); JSONArray jsonArrayField_image=jsonObject.getJSONArray("field_image"); for(int i=0;i<jsonArrayNid.length();i++){ JSONObject jsonObjectNid=jsonArrayNid.getJSONObject(i); String value=jsonObjectNid.getString("value"); //here you get your nid value } for(int i=0;i<jsonArrayUid.length();i++){ JSONObject jsonObjectUid=jsonArrayUid.getJSONObject(i); String target_id=jsonObjectUid.getString("target_id"); //here you get your uid target_id value String url=jsonObjectUid.getString("url"); //here you get your uid url value } for(int i=0;i<jsonArrayField_image.length();i++){ JSONObject jsonObjectFieldImage=jsonArrayField_image.getJSONObject(i); String target_id=jsonObjectFieldImage.getString("target_id"); String alt=jsonObjectFieldImage.getString("alt"); String title=jsonObjectFieldImage.getString("title"); String width=jsonObjectFieldImage.getString("width"); String height=jsonObjectFieldImage.getString("height"); String url=jsonObjectFieldImage.getString("url"); } } catch (JSONException e) { e.printStackTrace(); } } ,第二个表格为Ring

您必须RingTone两次JOIN表:

Ring

答案 1 :(得分:2)

试试这种方式

SELECT
    rt.ID,
    DayRingTone = b.RingName,
    NightRingTone = c.RingName
FROM tableringtone a
INNER JOIN tablering b
    ON a.DayRingTone = b.RingID
INNER JOIN tablering c
    ON a.NightRingTone = c.RingID