我在机构表中有一个缩写字段。每个机构至少都有一个缩写。一些机构也可以使用第二个缩写。除了要为标准化创建另一个表外,我不想为每个表创建两列,但不知道如何命名它们。
我可以命名为abbreviation_1
和abbreviation_2
,但是由于我通常只在sql中获得第一个,所以我不想将第一个命名为abbreviation_1
。
我可以命名为abbreviation
和abbreviation_2
,这似乎是不一致的,因为在其他表格中,我将两个字符代码的ISO国家/地区代码分别为iso_code_2
和三个字符的iso_code_3
代码。
有没有首选的方法?
CREATE TABLE institution (
....
abbreviation VARCHAR(10) NOT NULL,
abbreviation??? VARCHAR(10),
....
)
答案 0 :(得分:1)
我的建议是在该表中保留一个import requests
列
type
然后您可以根据类型保留不同的网络CREATE TABLE institution (
....
abbreviation VARCHAR(10) NOT NULL,
type VARCHAR(10),
....
)
答案 1 :(得分:0)
创建两个不同的表:
#include <vector>
using namespace std;
int main()
{
vector<int> w, m;
for (auto a : w)
{
bool added = false;
for (auto it = m.begin(); it != m.end(); it++)
{
if (a > *it)
{
added = true;
m.insert(it, a);
if (m.size() > 3)
{
m.resize(3);
}
break;
}
}
if (!added && m.size() < 3)
{
m.push_back(a);
}
}
return 0;
}
除非缩写确实是不同的东西(例如2个字符和3个字符的国家/地区代码),否则您会发现这简化了查询。
答案 2 :(得分:0)
我建议:
CREATE TABLE institution (
....
abbreviation VARCHAR(10) NOT NULL,
abbreviationAlt VARCHAR(10),
....
)
或者abbreviation_alt
(如果您愿意)。