例如,我在查詢中只選擇了兩個修復引用。輸出顯示每個修復參考的許多記錄。對於每個修復可以有多個序列和每個序列有分配給它的(如下所示)一個交易人:減少和分組記錄並替換字段中的值
╔══════════════════╦══════════════╦══════════════╦════════════╦═══════════════╗
║ Repair Reference ║ Tenant Name ║ Job Sequence ║ Trade Code ║ Trade ║
╠══════════════════╬══════════════╬══════════════╬════════════╬═══════════════╣
║ 57257795 ║ MISS L SMITH ║ 1 ║ 41 ║ Plumber ║
║ 57257795 ║ MISS L SMITH ║ 10 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 11 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 13 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 14 ║ 44 ║ Electrician ║
║ 57257795 ║ MISS L SMITH ║ 15 ║ 44 ║ Electrician ║
║ 57257795 ║ MISS L SMITH ║ 17 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 18 ║ 41 ║ Plumber ║
║ 57257795 ║ MISS L SMITH ║ 19 ║ 41 ║ Plumber ║
║ 57257795 ║ MISS L SMITH ║ 2 ║ 41 ║ Plumber ║
║ 57257795 ║ MISS L SMITH ║ 20 ║ 32 ║ Joiner ║
║ 57257795 ║ MISS L SMITH ║ 3 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 5 ║ 32 ║ Joiner ║
║ 57257795 ║ MISS L SMITH ║ 6 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 7 ║ 40 ║ Plasterer ║
║ 57257795 ║ MISS L SMITH ║ 8 ║ 32 ║ Joiner ║
║ 57342819 ║ MISS A GREEN ║ 1 ║ 40 ║ Plasterer ║
║ 57342819 ║ MISS A GREEN ║ 2 ║ 40 ║ Plasterer ║
║ 57342819 ║ MISS A GREEN ║ 3 ║ 33 ║ Painter ║
║ 57342819 ║ MISS A GREEN ║ 4 ║ 33 ║ Painter ║
║ 57342819 ║ MISS A GREEN ║ 5 ║ 33 ║ Painter ║
║ 57342819 ║ MISS A GREEN ║ 6 ║ 40 ║ Plasterer ║
╚══════════════════╩══════════════╩══════════════╩════════════╩═══════════════╝
客戶端只想要一個記錄每修復參考(如下所示例子)顯示 - 我可以使用Job_Sequence = 1
來做到這一點。我遇到的問題是Trade
顯示Multi Trade
如果有多個Trade
類型每Repair Reference
。這正是我正在努力的。是否有可能看所有的Trades per Repair Reference
,如果有多於一個類型,顯示文本多貿易否則,如果只有一個Trade/Trade Code
爲Repair Reference
就用貿易,因爲它是:
╔══════════════════╦══════════════╦══════════════╦════════════╦══════════════╗
║ Repair Reference ║ Tenant Name ║ Job Sequence ║ Trade Code ║ Trade ║
╠══════════════════╬══════════════╬══════════════╬════════════╬══════════════╣
║ 57257795 ║ MISS L SMITH ║ 1 ║ 41 ║ Multi Trade ║
║ 57342819 ║ MISS A GREEN ║ 1 ║ 40 ║ Multi Trade ║
╚══════════════════╩══════════════╩══════════════╩════════════╩══════════════╝
下面是目前我已經得到了SQL:
SELECT
rhm_job_seqs.repair_ref AS "Repair Reference",
rhm_repairs.tenant_name AS "Tenant Name",
rhm_repairs.tenant_address1 AS "Tenant Address1",
rhm_repairs.tenant_address2 AS "Tenant Address2",
rhm_repairs.tenant_postcode AS "Tenant PostCode",
rhm_job_seqs.job_seq AS "Job Sequence",
rhm_trades.trade_code AS "Trade Code",
rhm_trades.trade_desc AS "Trade"
FROM (
RHM_REPAIRS
INNER JOIN RHM_JOB_SEQS ON RHM_REPAIRS.REPAIR_REF = RHM_JOB_SEQS.REPAIR_REF)
INNER JOIN RHM_OPERATORS ON RHM_JOB_SEQS.OPERATOR_ID1 = RHM_OPERATORS.OPERATOR_ID
INNER JOIN rhm_repair_type ON rhm_repairs.repair_type = rhm_repair_type.repair_type
INNER JOIN rhm_trades ON rhm_job_seqs.trade_code = rhm_trades.trade_code
INNER JOIN rhm_subareas ON rhm_repairs.subarea_no = rhm_subareas.subarea_no
INNER JOIN rhm_yhn_areas ON rhm_subareas.yhn_area_no = rhm_yhn_areas.area_no
WHERE
NOT (RHM_REPAIRS.TENANT_ADDRESS1 LIKE '9999Z' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE '9999z%' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'block' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'Block' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'Block%' OR
RHM_REPAIRS.TENANT_ADDRESS1 LIKE 'BLOCK')
AND NOT (RHM_REPAIRS.JOB_PRIORITY LIKE 'I' OR RHM_REPAIRS.JOB_PRIORITY LIKE 'V')
AND (RHM_REPAIRS.REPAIR_TYPE LIKE '2' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'G' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'S' OR
RHM_REPAIRS.REPAIR_TYPE LIKE 'X')
AND RHM_REPAIRS.TENANT_NAME <> 'VOID'
AND RHM_REPAIRS.TENANT_NAME <> 'Void'
AND RHM_REPAIRS.TENANT_NAME IS NOT NULL
AND RHM_JOB_SEQS.JOB_SEQ_STATUS <> 'X'
AND rhm_repairs.repair_completed BETWEEN SYSDATE-20 AND SYSDATE
AND RHM_REPAIRS.SUBAREA_NO <> '99'
AND rhm_job_seqs.repair_ref IN ('57342819','57257795')
AND rhm_job_seqs.job_seq = '1'
ORDER BY
RHM_JOB_SEQS.REPAIR_REF, rhm_job_seqs.job_seq
嗨,謝謝你對我的問題的回覆 - 非常感謝。這看起來像我以後的事情。該解決方案几乎給了我想要的,但我在WHERE rhm_job_seqs.repair_ref = job_seqs2.repair_ref AND job_seqs2.job_seq> 1之間添加了'和rhm_job_seqs.trade_code <> job_seqs2.trade_code',它給了我所需要的結果。我已經離開了辦公室好幾天了,因此我遲了回覆 - 但是非常感謝您花時間幫我整理我的查詢/數據摘錄。 –