如何在一行中插入多个值?我的查询
insert into table_RekamMedis values ('RM001', '1999-05-01', 'D01', 'Dr Zurmaini', 'S11', 'Tropicana', 'B01', 'Sulfa', '3dd1');
我不能在一行中插入两个值。有其他方法吗?
lrpiutwd1#
我不懂你说的人类语言,所以这只是猜测。您的系统中有两个entities。一个是dokter,另一个是script(处方)。您的要求是为每个dokter存储零个或多个script。也就是说,实体之间的relationship是一对多。在关系数据库管理系统(SQL系统)中,您可以使用两个表(每个实体一个表)来实现这一点。您的dokter表将包含每个医生的唯一标识符,以及医生的描述性属性。
dokter
script
CREATE TABLE dokter( dokter_id BIGINT AUTO_INCREMENT PRIMARY KEY NOT NULL, nama VARCHAR (100), kode VARCHAR(10), /* others ... */ );
您将有第二个用于脚本的表
CREATE TABLE script ( script_id BIGINT AUTO_INCREMENT PRIMARY KEY NOT NULL, dokter_id BIGINT NOT NULL, kode VARCHAR(10), nama VARCHAR(100), dosis VARCHAR(100), /* others ... */ );
然后,当医生开两张处方时,您在dokter中插入一行,在script中插入两行。通过将正确的dokter_id放入每个script行中,可以建立script和dokter之间的关系。然后,您可以使用如下所示的查询来撷取此信息:
dokter_id
SELECT dokter.dokter_id, dokter.nama, dokter.kode, script.script_id, script.kode, script.nama, script.dosis FROM dokter LEFT JOIN script ON dokter.dokter_id = script.dokter_id
学习entity-relationship数据设计。这是值得你花时间学习的,它将极大地提高你的职业生涯。
uxhixvfz2#
您不能在单个字段中 * 存储 * 多个值,但有多种选项可以实现您的目标。如果你知道一个给定的字段只能有一定数量的值,那么创建多个列来保存这些值可能是有意义的。在你的例子中,Nama obat可能只有2个不同的值,所以你可以将该列分成两列:Nama obat primary和Nama obat secondary中的一个或多个。但是,如果给定的字段可以有任意数量的值,那么创建一个表来保存这些值可能是有意义的,这样它看起来就像这样:| 无RM|纳马奥巴特|| - -|- -|| RM 001型|磺胺|| RM 001型|阿尼米姆|| RM 001型|ABC公司|| RM 002型|XYZ坐标系|然后,您可以使用简单的连接将该表与原始表组合在一起:
Nama obat
Nama obat primary
Nama obat secondary
SELECT * FROM table_RekamMedis JOIN table_NamaObat ON table_RekamMedis.NoRM = table_NamaObat.NoRM
上面的代码负责数据的存储。如果你想查询数据,结果会按照你在问题中的布局显示,你可以使用GROUP_CONCAT将多个NamaObat字段合并成一个字段,如下所示:
GROUP_CONCAT
NamaObat
SELECT GROUP_CONCAT(NamaObat SEPARATOR '\n') ... GROUP BY NoRM
2条答案
按热度按时间lrpiutwd1#
我不懂你说的人类语言,所以这只是猜测。
您的系统中有两个entities。一个是
dokter
,另一个是script
(处方)。您的要求是为每个dokter
存储零个或多个script
。也就是说,实体之间的relationship是一对多。在关系数据库管理系统(SQL系统)中,您可以使用两个表(每个实体一个表)来实现这一点。您的
dokter
表将包含每个医生的唯一标识符,以及医生的描述性属性。您将有第二个用于脚本的表
然后,当医生开两张处方时,您在
dokter
中插入一行,在script
中插入两行。通过将正确的dokter_id
放入每个script
行中,可以建立script
和dokter
之间的关系。然后,您可以使用如下所示的查询来撷取此信息:
学习entity-relationship数据设计。这是值得你花时间学习的,它将极大地提高你的职业生涯。
uxhixvfz2#
您不能在单个字段中 * 存储 * 多个值,但有多种选项可以实现您的目标。
如果你知道一个给定的字段只能有一定数量的值,那么创建多个列来保存这些值可能是有意义的。在你的例子中,
Nama obat
可能只有2个不同的值,所以你可以将该列分成两列:Nama obat primary
和Nama obat secondary
中的一个或多个。但是,如果给定的字段可以有任意数量的值,那么创建一个表来保存这些值可能是有意义的,这样它看起来就像这样:
| 无RM|纳马奥巴特|
| - -|- -|
| RM 001型|磺胺|
| RM 001型|阿尼米姆|
| RM 001型|ABC公司|
| RM 002型|XYZ坐标系|
然后,您可以使用简单的连接将该表与原始表组合在一起:
上面的代码负责数据的存储。如果你想查询数据,结果会按照你在问题中的布局显示,你可以使用
GROUP_CONCAT
将多个NamaObat
字段合并成一个字段,如下所示: