Yassine AAMOUD
Yassine AAMOUD

Reputation: 13

Operand should contain 1 column(s) Or Error in sql syntax

I checked almost all related topics, not working for me. I am a beginner Either I get "operand should contain 1 columns" or "you have an error in your sql syntax check the manual that corresponds to your mysql server version for the right sytax to use near ' ' at line 1 " Here is my query :

create database makla;
use makla;
create table orders(
    order_id int auto_increment primary key,
    order_date DATE
);

create table productionitem(
    order_id int not null,
    item_name varchar (20),
    item_description varchar (100),
    constraint order_fk foreign key (order_id) references orders (order_id)
);

insert into orders(order_date) values ('2014/11/4');
insert into orders(order_date) values ('2017/9/30');
insert into orders(order_date) values ('2019/4/13');

insert into productionitem(order_id, item_name, item_description) 
values (1, 'tv', 'samsung X');
insert into productionitem(order_id, item_name, item_description) 
values (1, 'watch', 'swatch X');
insert into productionitem(order_id, item_name, item_description) 
values (2, 'pan', 'metal X');
insert into productionitem(order_id, item_name, item_description) 
values (3, 'cup', 'world X');
insert into productionitem(order_id, item_name, item_description) 
values (3, 'chair', 'plastic X');

select *
from productionitem
where order_id in (select order_id
                   from orders
                   where order_date between '2015/11/4' and '2020/11/4')

please help,

Upvotes: 0

Views: 38

Answers (1)

UsamaAmjad
UsamaAmjad

Reputation: 4604

You may need to put the date in proper format yyyy-mm-dd

insert into orders(order_date) values ('2014-11-04'); 
insert into orders(order_date) values ('2017-09-30'); -- notice 09 not just 9
insert into orders(order_date) values ('2019-04-13');

Same date format will be used for SELECT queries.

Upvotes: 1

Related Questions