Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
BEGIN TRANSACTION; CREATE TABLE IF NOT EXISTS "bid_material" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "bid_id" INTEGER NOT NULL, "material_id" INTEGER NOT NULL ); CREATE TABLE IF NOT EXISTS "buyer" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "name" TEXT NOT NULL, "surname" TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS "bid" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "min_area" INTEGER NOT NULL, "max_price" INTEGER NOT NULL, "city_id" INTEGER NOT NULL, "buyer_id" INTEGER NOT NULL ); CREATE TABLE IF NOT EXISTS "building_material" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "building_id" INTEGER NOT NULL, "material_id" INTEGER NOT NULL ); CREATE TABLE IF NOT EXISTS "building" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "name" TEXT, "area" INTEGER NOT NULL, "price" INTEGER NOT NULL, "owner_id" INTEGER NOT NULL, "city_id" INTEGER NOT NULL ); CREATE TABLE IF NOT EXISTS "owner" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "name" TEXT, "surname" TEXT ); CREATE TABLE IF NOT EXISTS "material" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "name" TEXT ); CREATE TABLE IF NOT EXISTS "city" ( "id" INTEGER NOT NULL PRIMARY KEY UNIQUE, "name" TEXT ); COMMIT; SELECT buyer.name as cli_name, buyer.surname, obj.* FROM buyer JOIN (SELECT bid.buyer_id, bid.min_area, building.area, building.price, bid.max_price, building.city_id, bid.city_id, building.name FROM bid INNER JOIN building ON bid.city_id = building.city_id AND building.price <= bid.max_price AND building.area >= bid.min_area WHERE building.name = "Object 101" AND NOT EXISTS (SELECT bid_material.material_id, building_material.material_id FROM building_material LEFT JOIN bid_material ON building_material.material_id = bid_material.material_id WHERE bid_material.bid_id = bid.id OR building_material.building_id = building.id EXCEPT SELECT bid_material.material_id, building_material.material_id FROM building_material JOIN bid_material ON building_material.material_id = bid_material.material_id WHERE bid_material.bid_id = bid.id OR building_material.building_id = building.id ) AND NOT EXISTS ( SELECT bid_material.material_id, building_material.material_id FROM bid_material LEFT JOIN building_material ON building_material.material_id = bid_material.material_id WHERE bid_material.bid_id = bid.id OR building_material.building_id = building.id EXCEPT SELECT bid_material.material_id, building_material.material_id FROM building_material JOIN bid_material ON building_material.material_id = bid_material.material_id WHERE bid_material.bid_id = bid.id OR building_material.building_id = building.id ) ) obj ON buyer.id = obj.buyer_id;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear