Conexión SQL (JOIN)
demanda:
- Consultar el problema de la inconsistencia entre la información de registro comercial y la información de registro en el sistema.
- Los campos consistentes no están marcados, los campos inconsistentes están marcados con "●"
- Si solo el índice de capital de un inversor en el sistema externo está vacío, se mostrará un círculo vacío cuando se advierta el índice de capital.
Pautas de consulta SQL:
- Tenga en cuenta la diferencia entre la combinación izquierda y la consulta de combinación
- Uso de caso cuando
- Se puede obtener una tabla intermedia virtual mediante una consulta relacionada, y se pueden realizar consultas relacionadas, subconsultas, etc., basadas en la tabla intermedia.
- Primero, piense en cómo abordarlo, divida un problema complejo en varios problemas simples y, finalmente, únase.
Vista previa de los resultados de la consulta:
- Parte del campo de visualización
Pequeña prueba:
SELECT count( a.unitid ) AS "条数", HEX( a.unitid ) AS "单位ID" FROM PMS_COMPANY_HOLDER AS a WHERE a.HOLDER_ZB_NEW = '' AND HEX( a.unitid ) IN ( SELECT HEX( g.unitid ) FROM GXJT_YJ AS g LEFT JOIN md_org AS m ON m.recid = g.unitid LEFT JOIN PMS_COMPANY_INFO AS p ON m.recid = p.unitid WHERE HEX( g.unitid ) LIKE '%67%' AND g.warningType = 'REGISTRATION_DIFFERENT' ) GROUP BY a.unitid
Demuestra tus habilidades:
define query ad_query(@unitId string) begin SELECT w.stdname AS "单位", CASE WHEN w.WARNINGREASON CONTAINS 'COMPANY_NAME' THEN ' ●' END AS "企业名称", CASE WHEN y.num > 0 THEN ' ○' WHEN w.WARNINGREASON CONTAINS 'EQUITY_SITUATION' THEN ' ●' END AS "股权情况", CASE WHEN w.WARNINGREASON CONTAINS 'LEGAL_REPRESENTATIVE' THEN ' ●' END AS "法定代表人", CASE WHEN w.WARNINGREASON CONTAINS 'REGISTERED_CAPITAL' THEN ' ●' END AS "注册资本", CASE WHEN w.WARNINGREASON CONTAINS 'REGISTRATION_PROVIENCE' THEN ' ●' END AS "注册地", CASE WHEN w.WARNINGREASON CONTAINS 'REGISTRATION_DATE' THEN ' ●' END AS "注册日期", w.COMPANY_S_EXT_NODENUM AS "所属省份", w.UNITID AS "单位id", w.GQ_DATATIME AS "股权数据时期", w.GS_DATATIME AS "工商数据时期" FROM ( SELECT m.stdname, CASE WHEN g.WARNINGREASON CONTAINS 'COMPANY_NAME' THEN ' ●' END AS "COMPANY_NAME", CASE WHEN g.WARNINGREASON CONTAINS 'EQUITY_SITUATION' THEN ' ●' END AS "EQUITY_SITUATION", CASE WHEN g.WARNINGREASON CONTAINS 'LEGAL_REPRESENTATIVE' THEN ' ●' END AS "LEGAL_REPRESENTATIVE", CASE WHEN g.WARNINGREASON CONTAINS 'REGISTERED_CAPITAL' THEN ' ●' END AS "REGISTERED_CAPITAL", CASE WHEN g.WARNINGREASON CONTAINS 'REGISTRATION_PROVIENCE' THEN ' ●' END AS "REGISTRATION_PROVIENCE", CASE WHEN g.WARNINGREASON CONTAINS 'REGISTRATION_DATE' THEN ' ●' END AS "REGISTRATION_DATE", p.COMPANY_S_EXT_NODENUM AS "COMPANY_S_EXT_NODENUM", g.UNITID AS "UNITID", g.GQ_DATATIME AS "GQ_DATATIME", g.GS_DATATIME AS "GS_DATATIME", g.WARNINGREASON AS "WARNINGREASON" FROM GXJT_YJ AS g JOIN md_org AS m ON m.recid = g.unitid JOIN PMS_COMPANY_INFO AS p ON m.recid = p.unitid WHERE to_char ( m.parents ) CONTAINS ( to_char ( @unitId ) ) AND g.warningType = 'REGISTRATION_DIFFERENT' ) AS w LEFT JOIN ( SELECT count( a.unitid ) AS num, a.unitid FROM PMS_COMPANY_HOLDER AS a WHERE a.HOLDER_ZB_NEW = '' AND a.unitid IN ( SELECT g.unitid FROM GXJT_YJ AS g JOIN md_org AS m ON m.recid = g.unitid JOIN PMS_COMPANY_INFO AS p ON m.recid = p.unitid WHERE to_char ( m.parents ) CONTAINS ( to_char ( @unitId ) ) AND g.warningType = 'REGISTRATION_DIFFERENT' ) GROUP BY a.unitid ) AS y ON y.unitid = w.UNITID end