fxi
fxi

Reputation: 115

Sqlite failure doing a Query

Im trying to do a query on sqlite. I want to retrieve the server id of the servers that are not associated with a profile id (i have the id of the profile). The table serpro represents the n:n relationship between the tables.

This is my query (apparently it is wrong):

Select server._id, server.server 
from server where server._id != ( SELECT server._id FROM server 
INNER JOIN serpro ON server._id = serpro._ids 
INNER JOIN profile ON profile._id = serpro._idp 
where profile._id=" + idProfile;

And these are the table creation sentences:

create table server (_id integer primary key autoincrement,ip string not null, port string not null, server string not null);

create table profile (_id integer primary key autoincrement, profile string not null);

create table serpro (_ids integer not null, _idp integer not null, PRIMARY KEY (_ids, _idp), CONSTRAINT fk_idsps FOREIGN KEY (_ids) REFERENCES server(_id) ON DELETE CASCADE, CONSTRAINT fk_idspp FOREIGN KEY (_idp) REFERENCES server(_id) ON DELETE CASCADE);

Thank you for your help!

Upvotes: 0

Views: 134

Answers (1)

jabbie
jabbie

Reputation: 2716

Just doing a cursory look at it I would say you are forgetting to close the sub query. Add a ) to the end of your query

  "Select server._id, server.server from server where server._id != " +
  " ( SELECT server._id FROM server INNER JOIN serpro ON server._id = serpro._ids " + 
  "  INNER JOIN profile ON profile._id = serpro._idp " +
  "  where profile._id=" + idProfile + ")";

Upvotes: 1

Related Questions