[英]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.