1

我正在尝试返回订单表中每个国家/地区的邮政编码数据,这应该是一个简单的查询,但我不能让它工作。查询执行良好,但结果的每一行都只是:

  • POSTCODE| COUNTRY| id <国家ID

我的查询如下:

SELECT 'POSTCODE' as billing_postcode, 'COUNTRY' as Title, billing_country_id
FROM [DB].[dbo].[Order]
INNER JOIN [DB].[dbo].[Country]
ON country_id = billing_country_id
GROUP BY billing_country_id

下面是我得到的输出示例: -

在此处输入图像描述

为什么不返回邮政编码+国家?谁能看到我在这里做错了什么?

谢谢

编辑*

基本订单表结构:

订单号 | 计费_邮政编码 | billing_country_id

基本国家表结构:

country_id | 标题

4

2 回答 2

2

您选择了字符串PostCodeCountry不是实际的列。

SELECT POSTCODE as 'billing_postcode', COUNTRY as 'Title', billing_country_id
FROM [DB].[dbo].[Order]
INNER JOIN [DB].[dbo].[Country]
ON country_id = billing_country_id
GROUP BY billing_country_id

从您的编辑看来,您需要切换列/别名:

SELECT billing_postcode AS 'POSTCODE', Title as 'Country', billing_country_id
FROM [DB].[dbo].[Order]
INNER JOIN [DB].[dbo].[Country]
ON country_id = billing_country_id
于 2013-06-25T10:17:57.487 回答
1

这样做。从列名中删除撇号,而是在别名部分使用它

SELECT POSTCODE as 'billing_postcode', COUNTRY as 'Title', billing_country_id
FROM [DB].[dbo].[Order]
INNER JOIN [DB].[dbo].[Country]
ON country_id = billing_country_id
GROUP BY billing_country_id
于 2013-06-25T10:18:12.170 回答