【问题标题】:Display grid on basis of Enquiry No根据查询编号显示网格
【发布时间】:2016-04-21 20:43:33
【问题描述】:

下面的查询显示了我想在网格中显示的结果。

SELECT bb.project_id, bb.building_id, bb.flat_id AS flat_id,
   cc.cust_enq_no AS enquiry_no, cc.NAME enquiry_name,
   TO_CHAR (cc.f_followup_date, 'dd/MM/yyyy') AS last_followup_date,
   cc.f_remarks AS last_followup_comments  FROM xxacl_pn_flat_det_v bb INNER JOIN xxcus.xxacl_pn_customer_enquiry_v cc
   ON bb.project_id = cc.mkey

但我的要求有一些变化。

现在每个F_FLAT_ID 都有多个CUST_ENQ_NO

Select * from xxcus.xxacl_pn_customer_enquiry_v where F_FLAT_ID = '18158'

它有 3 条记录。

所以对于我的第一个查询,

如何获得多个 CUST_ENQ_NO

更新

我要过滤并显示在网格中

protected void DisplayGridEnquiry()
{
    OracleCommand cmd1 = new OracleCommand("SELECT bb.project_id, bb.building_id, bb.flat_id as FLAT_ID, cc.cust_enq_no as ENQUIRY_NO, " +
                                           "cc.NAME ENQUIRY_NAME, TO_CHAR (cc.f_followup_date,'dd/MM/yyyy') as LAST_FOLLOWUP_DATE, cc.f_remarks AS LAST_FOLLOWUP_COMMENTS " +
                                           "FROM xxacl_pn_flat_det_v bb INNER JOIN xxcus.xxacl_pn_customer_enquiry_v cc " +
                                           "ON bb.project_id = cc.mkey", ObjPriCon);
    DataTable dtfillgrid1 = new DataTable();
    OracleDataAdapter da1 = new OracleDataAdapter(cmd1);
    da1.Fill(dtfillgrid1);

    DataView dView1 = new DataView(dtfillgrid1);
    dView1.RowFilter = "PROJECT_ID = '" + ddlProject.SelectedValue + "' AND BUILDING_ID = '" + ddlBuilding.SelectedValue + "' AND FLAT_ID = '" + ddlUnit.SelectedItem.Text + "'";
    GridEnquiry.DataSource = dView1.ToTable();
    GridEnquiry.DataBind();
}

【问题讨论】:

    标签: sql asp.net oracle


    【解决方案1】:
    SELECT bb.project_id, bb.building_id, bb.flat_id AS flat_id,
       cc.cust_enq_no AS enquiry_no, cc.NAME enquiry_name,
       TO_CHAR (cc.f_followup_date, 'dd/MM/yyyy') AS last_followup_date,
       cc.f_remarks AS last_followup_comments  
    FROM xxacl_pn_flat_det_v bb 
    LEFT JOIN xxcus.xxacl_pn_customer_enquiry_v cc ON  bb.flat_id=cc.F_FLAT_ID
    

    【讨论】:

    • 通过上述查询,我​​得到了 FLAT_NO 。没有cust_enq_no
    • 尝试使用完全外连接而不是左连接。如果您指定这两个表之间的关系会更好地理解
    • 同样的事情正在发生,没有CUST_ENQ_NO 也带有完整的外部连接
    • 其实我想在dView1.RowFilter = "PROJECT_ID = '" + ddlProject.SelectedValue + "' AND BUILDING_ID = '" + ddlBuilding.SelectedValue + "' AND FLAT_ID = '" + ddlUnit.SelectedItem.Text + "'";的过滤器上显示多个cust_enq_no 我已经更新了我的问题
    猜你喜欢
    • 2015-04-11
    • 2022-08-12
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多