我试图从多个表中组合多个列,但我的一些数据似乎是重复出现的。我的查询应该如何避免这种情况?
我有以下表格:
LEGE_ROM
+----------+------------+-----+
| ansattnr | dag | rom |
+----------+------------+-----+
| L102 | 2012-09-23 | b01 |
+----------+------------+-----+
| L100 | 2012-09-12 | k10 |
+----------+------------+-----+
| L100 | 2013-03-05 | k10 |
+----------+------------+-----+
| L100 | 2014-03-02 | k10 |
+----------+------------+-----+
| L100 | 2014-10-15 | K10 |
+----------+------------+-----+
| L100 | 2014-11-03 | k10 |
+----------+------------+-----+
| L102 | 2012-09-12 | k11 |
+----------+------------+-----+
| L100 | 2014-11-10 | k12 |
+----------+------------+-----+
| L110 | 2012-09-13 | k12 |
+----------+------------+-----+
ROM_BEHANDLING
+-----+--------------+
| rom | behandling |
+-----+--------------+
| b01 | kirurgisk |
+-----+--------------+
| k10 | konsultasjon |
+-----+--------------+
| k11 | konsultasjon |
+-----+--------------+
| k12 | konsultasjon |
+-----+--------------+所需的输出表是(已编辑的表):
+----------+-----+--------------+
| ansattnr | rom | behandling |
+----------+-----+--------------+
| L100 | k10 | konsultasjon |
+----------+-----+--------------+
| L102 | k11 | konsultasjon |
+----------+-----+--------------+
| L110 | k12 | konsultasjon |
+----------+-----+--------------+并应使用联接来实现所需的输出表。
我尝试使用以下查询:
SELECT lr.ansattnr, lr.rom, rb.behandling
FROM LEGE_ROM lr JOIN ROM_BEHANDLING rb
WHERE rb.behandling='konsultasjon';发布于 2014-11-05 17:06:17
我想这就是你要找的。
它使用一个LEFT JOIN,这样即使LEGE_ROM中没有对应的行,它也会从ROM_BEHANDLING返回该行。
SELECT lr.ansattnr, lr.rom, rb.behandling
FROM ROM_BEHANDLING rb
INNER JOIN LEGE_ROM lr on lr.rom = rb.rom
GROUP BY lr.rom
HAVING rb.behandling = 'konsultasjon';工作实例这里
https://stackoverflow.com/questions/26762819
复制相似问题