繁体   English   中英

内连接4表mysql C#

[英]inner join 4 tables mysql C#

我真的需要帮助。 首先,我想介绍一下问题所在:

General Table:
create table cworkdb.models(
    model_id integer auto_increment,
    model_name varchar(40) not null,
    man_id integer not null,
    cpu_id integer not null,
    ram_quantity integer not null,
    hdd_capacity integer not null,
    video_id integer not null,
    primary key(model_id),
    foreign key(man_id) references manufacturers(man_id),
    foreign key(cpu_id) references cpu_comp(cpu_id),
    foreign key(video_id) references videocard(video_id)
);

和3个表(我已链接到):

create table cworkdb.manufacturers(
    man_id integer auto_increment,
    man_name varchar(50) not null,
    primary key(man_id)
);
create table cworkdb.videocard(
    video_id integer auto_increment,
    video_name varchar(45) not null,
    video_memory double not null,
    primary key(video_id)
)
create table cworkdb.cpu_comp(
    cpu_id integer auto_increment,
    cpu_name varchar(60) not null,
    cpu_freq double not null,
    primary key(cpu_id)
);

我的selectQuery字符串 -

string selectQuery = "select model_id, model_name, man_name, cpu_name,ram_quantity,hdd_capacity,video_name"
                                 + "from (cworkdb.models inner join cworkdb.cpu_comp on cworkdb.models.cpu_id=cworkdb.cpu_comp.cpu_id)"
                                 +"inner join cworkdb.manufacturers on cworkdb.models.man_id=cworkdb.manufacturers.man_id"
                                 +"inner join cworkdb.videocard on cworkdb.models.video_id=cworkdb.videocard.video_id";

当我试图在MySqlCommand中使用它时 - 抛出一个错误:

问题是靠近第一个内连接。

虽然我修改了(删除了第一个括号),但它仍然说有错误。 我在哪里弄错了? 任何帮助将不胜感激。

你写了这个:

string selectQuery = "select model_id, model_name, man_name, cpu_name,ram_quantity,hdd_capacity,video_name"
                             + "from (cworkdb.models inner join cworkdb.cpu_comp on cworkdb.models.cpu_id=cworkdb.cpu_comp.cpu_id)"
                             +"inner join cworkdb.manufacturers on cworkdb.models.man_id=cworkdb.manufacturers.man_id"
                             +"inner join cworkdb.videocard on cworkdb.models.video_id=cworkdb.videocard.video_id";

但是你错过了行尾的空格(或者你想要在行的开头),所以当你连接字符串时,内部连接被附加到了)

写这个:

string selectQuery = "select model_id, model_name, man_name, cpu_name,ram_quantity,hdd_capacity,video_name "
                             + "from (cworkdb.models inner join cworkdb.cpu_comp on cworkdb.models.cpu_id=cworkdb.cpu_comp.cpu_id) "
                             +"inner join cworkdb.manufacturers on cworkdb.models.man_id=cworkdb.manufacturers.man_id "
                             +"inner join cworkdb.videocard on cworkdb.models.video_id=cworkdb.videocard.video_id";

您应该在SQL语句中添加空格。

string selectQuery = "select model_id, model_name, man_name, cpu_name,ram_quantity,hdd_capacity,video_name "
                             + "from (cworkdb.models inner join cworkdb.cpu_comp on cworkdb.models.cpu_id=cworkdb.cpu_comp.cpu_id) "
                             +"inner join cworkdb.manufacturers on cworkdb.models.man_id=cworkdb.manufacturers.man_id "
                             +"inner join cworkdb.videocard on cworkdb.models.video_id=cworkdb.videocard.video_id";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM