0
我有一个客户表和一个地址表。基于加入表的计数和/或标志的SQL选择标志
地址表有一个标志,它是INVOICE,CORRESPONDENCE或DELIVERY。
客户可以有0到多个地址记录。
我希望能够查询表和生成基于地址数据的每个客户的一个标志 - 没有地址记录= NONE,1个或多个发票记录= HASINVOICE,没有发票,但1个或多个其他= HASOTHER
因此,下列数据:
+------------+---------+
| CustomerID | Name |
+------------+---------+
| 1 | Peter |
| 2 | Ray |
| 3 | Egon |
| 4 | Winston |
| 5 | Dana |
+------------+---------+
+-----------+------------+----------------+
| AddressID | CustomerID | AddressType |
+-----------+------------+----------------+
| 1 | 1 | INVOICE |
| 2 | 1 | DELIVERY |
| 3 | 2 | DELIVERY |
| 4 | 2 | CORRESPONDENCE |
| 5 | 4 | INVOICE |
| 6 | 5 | CORRESPONDENCE |
+-----------+------------+----------------+
我希望下面的输出:
+------------+---------+-------------+
| CustomerID | Name | AddressFlag |
+------------+---------+-------------+
| 1 | Peter | HASINVOICE |
| 2 | Ray | HASOTHER |
| 3 | Egon | NONE |
| 4 | Winston | HASINVOICE |
| 5 | Dana | HASOTHER |
+------------+---------+-------------+
这是可能的,对于SQL 2000,使用单个阙ry和没有游标?
@podiluska - 是的。 2000年BOL仍然[可用](http://technet.microsoft.com/en-us/library/aa258839(v = sql.80).aspx)。即使它没有,这只是构建一个演示该技术的自包含脚本。我可以想象OP会将它重新写回原来的表格。 –
今年我们正在升级!我的行业轮子慢慢转动...... – Shevek