我有两个表( TableA ; TableB ),我需要从TableB中提取查找信息,因为它与TableA中的条目相关。
表A 包含以下内容:
Unique_ID(应用于此数据库中每个记录的唯一ID e)
STATE_CODE(在记录中用作信息的状态的缩写;一条记录只能选择一个状态,但是同一状态可以应用于多个记录)
表B 包含以下内容:
STATE_CODE
STATE_NAME
所以我们假设它看起来像这样:
表A :
| Unique_ID | STATE_CODE |
+-----------+------------+
| 1 | TX |
| 2 | GA |
| 3 | TX |
| 4 | MS |
TableB 如下:
| STATE_CODE | STATE_NAME |
+------------+-------------+
| TX | Texas |
| GA | Georgia |
| MS | Mississippi |
我需要执行select语句,以根据应用于TableA中Unique_ID的STATE_CODE从TableB中提取STATE_NAME(例如“德克萨斯州”)。
我知道我需要将STATE_CODE与Unique_ID关联,然后将STATE_NAME与该特定的STATE_CODE关联,但是我在声明时遇到了麻烦。它会提取州名,但会在结果中一遍又一遍地重复它,即:Texas; Texas; Texas。我认为每次编辑/更新单个记录(Unique_ID)时都要重复一次。如何使它只出现一次?
我的SQL语句相当简单,因为我正在通过数据库GUI(而不是SSMS或MySQL)进行编写和运行。因此,大量的JOIN和WHERE在GUI中无法正常工作。
SELECT STATE_NAME
from dbo.TableB b,dbo.TableA a
where b.STATE_CODE = a.STATE_CODE
and a.Unique_ID = {Unique_ID}
我希望输出仅说“ Texas”,而改为 '德州;德州;德州'
我来自德克萨斯州,甚至我也不想一遍又一遍地说。