EU4-42: Attending a networking event

本文通过一场偶遇的对话展示了如何在初次见面时运用合适的对话主题、闲聊技巧以及找到共同话题的方法,强调了避免敏感话题的重要性。

Vocabulary

[NINA] Haven't we met somewhere before?
[WOMAN] No, I don't think so.
[NINA] Oh. Sorry.
[NINA] So, are you from around here?
[WOMAN] Oh, not really. My husband and I moved here a few weeks ago.
[NINA]Oh, really? So did I,I think the area's lovely.
[WOMAN] Oh, me, too.
[WOMAN] We're going to open a book shop down the road in about a month.
[WOMAN] You should come to our opening.
[NINA] I will. Thanks.
[NINA] So what did you do before?
[WOMAN] Oh, well, I worked at Crow and Dunny's. Do you know it?
[NINA] I used to work there!
[NINA] I knew you looked familiar.
[WOMAN] Oh, right.
[WOMAN] Did you know Richard Moat?
[NINA] Oh, yes, Isn't he the worst?
[NINA] I know everybody who worked for him hated him!
[WOMAN] That's my husband. We just got married.
[NINA] Oh! not that Richard Moat! There was a ...oh, what was his name? Richard... .
Key words
  • Haven’t we met somewhere before?
  • Are you form around here?
  • Do you know it?
  • I knew you looked familiar.
  • Did you know Richard Moat?

Grammar

1. Topics for conversation

对话的主题合适与否,并没有影响规定。这往往取决于文化,社会和个人观点。因此与不熟悉人交谈时还是谨慎为好。
努力避免谈及诸如政治宗教金钱爱情容易引起冲突的话题。相反,应当选择有趣且不会冒犯对方的话题。

A: What kind of sports do you like?
B: I'm a big soccer fan.
A: Did you see the game last night?
B: Yes! It was really exciting, wasn't it?
A: Do you enjoy traveling?
B: Yes, I do. I went to India last year. I love it!
A: The weather's nice right now, isn't it?
B: Yes, it is. I love the summer here.
2. Making small talk

使用下面这些主题在聚会和社交活动上进行简短而礼貌的对话。这称作闲聊

Wow - it’s so hot outside!
This event is very well-planned.
The food’s not too bad.
So, what do you do for a living?
I’m with Crump and Company. Where are you?
Are you here with family?
Are you taking any time off this summer?

3. Finding common ground

与刚在社交晚会上刚见到的某人建立共识是有好处的,如果你认为你以前见过对方但是不确定,可以使用下面表达方式。

We’ve met somewhere before, haven’t we?
You look familiar.

使用下述表达确实你们是否来自同一个地方。

Are you from around here?
Have you always lived in the area?

使用下面表达确认你们是否知道同一个人或者地方。

I was the manager at Zutz Bajery. Are you familiar with it?
Did you ever work with Robin Meyer?

你提供的 SQL 语句如下: ```sql SELECT '1', COUNT(*) FROM hd_patient a LEFT JOIN zylc.emr_ma_medical_staff_info b ON a.mr_id = b.mr_id WHERE a.ward_admission_date >= TO_DATE('2025-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND a.ward_admission_date <= TO_DATE('2025-11-14 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND (b.kzr_doctor_code = '1616' OR b.zr_doctor_code = '1616' OR b.zz_doctor_code = '1616' OR b.zy_doctor_code = '1616') UNION ALL SELECT '2', COUNT(*) FROM hd_patient a LEFT JOIN zylc.emr_ma_medical_staff_info b ON a.mr_id = b.mr_id WHERE a.ward_admission_date >= TO_DATE('2025-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND a.ward_admission_date <= TO_DATE('2025-11-14 00:00:00', 'YYYY-MM-DD HH24:MI:SS') AND (b.kzr_doctor_code = '1616' OR b.zr_doctor_code = '1616' OR b.zz_doctor_code = '1616' OR b.zy_doctor_code = '1616'); ``` --- ## ❌ 问题分析 虽然这次你在两个 `SELECT` 中加了 `'1'` 和 `'2'` 作为标签,但 **两个子查询完全相同**,所以结果会是: | label | count(*) | |-------|----------| | 1 | N | | 2 | N | 即:同一个数字被显示两次,只是前缀不同。这通常不是业务需要的逻辑 —— 很可能是误操作或测试残留。 --- ## ✅ 正确理解与建议 ### 🔍 可能的意图推测: 你可能是想对比两种情况(比如不同医生、不同科室、不同时间段、不同患者类型),但现在两个查询一模一样,没有意义。 --- ## ✅ 推荐修正方案(假设真实需求是“统计某医生在指定时间内的收治患者数”) ### ✅ 正确写法(单次查询即可): ```sql SELECT 'Total' AS query_label, COUNT(*) AS patient_count FROM hd_patient a INNER JOIN zylc.emr_ma_medical_staff_info b ON a.mr_id = b.mr_id WHERE a.ward_admission_date >= TO_DATE('2025-01-01', 'YYYY-MM-DD') AND a.ward_admission_date < TO_DATE('2025-11-15', 'YYYY-MM-DD') -- 更安全的时间范围 AND ( b.kzr_doctor_code = '1616' OR b.zr_doctor_code = '1616' OR b.zz_doctor_code = '1616' OR b.zy_doctor_code = '1616' ); ``` > 输出示例: > > | QUERY_LABEL | PATIENT_COUNT | > |-------------|---------------| > | Total | 342 | --- ## 🚫 为什么不应该用 `UNION ALL` 写两个一样的查询? - 导致结果重复,容易误导前端展示或报表统计。 - 浪费数据库资源,执行两遍相同的复杂查询。 - 如果后续要做聚合处理(如求和、导出 Excel),需额外去重或识别标签。 --- ## ✅ 什么时候才该使用 `UNION ALL`? 当你有 **多个不同条件的分组统计** 时,例如: ### 示例:分别统计主治医生和住院医生身份下的接诊人数 ```sql SELECT 'Attending_Doctor' AS role, COUNT(*) AS cnt FROM hd_patient a INNER JOIN zylc.emr_ma_medical_staff_info b ON a.mr_id = b.mr_id WHERE a.ward_admission_date >= DATE '2025-01-01' AND a.ward_admission_date < DATE '2025-11-15' AND b.zr_doctor_code = '1616' UNION ALL SELECT 'Resident_Doctor' AS role, COUNT(*) AS cnt FROM hd_patient a INNER JOIN zylc.emr_ma_medical_staff_info b ON a.mr_id = b.mr_id WHERE a.ward_admission_date >= DATE '2025-01-01' AND a.ward_admission_date < DATE '2025-11-15' AND b.zy_doctor_code = '1616'; ``` 输出: | ROLE | CNT | |--------------------|-----| | Attending_Doctor | 89 | | Resident_Doctor | 76 | 这才是 `UNION ALL` 的合理用途。 --- ## ⚠️ 其他优化建议 1. **替换 `LEFT JOIN` 为 `INNER JOIN`** 因为你依赖 `b` 表字段做筛选,若 `b` 为空则无法满足条件,因此实际效果等同于内连接,直接写 `INNER JOIN` 更清晰高效。 2. **日期写法简化(Oracle 支持)** ```sql a.ward_admission_date >= DATE '2025-01-01' AND a.ward_admission_date < DATE '2025-11-15' ``` 或使用 `TO_DATE` 带格式: ```sql TO_DATE('2025-11-15', 'YYYY-MM-DD') -- 默认时间为 00:00:00 ``` 3. **避免时间边界误差** 使用 `< 下一天 00:00:00` 比 `<= 当天 23:59:59` 更精确,防止毫秒/微秒数据丢失。 4. **添加去重逻辑(如需按病人去重)** 若一个病人多次入院,你想只算一次: ```sql SELECT COUNT(DISTINCT a.patient_id) FROM ... ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值