Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- id name
- 1 Grove house
- 2 howard house
- 3 sunny side
- prop_id name
- 1 Wifi
- 1 Enclosed garden
- 1 Swimming pool
- 2 Swimming pool
- SELECT * FROM properties WHERE id in (
- select prop_id from advanced_options where name = 'Within 2 miles of sea or river' and prop_id in (
- select prop_id from advanced_options where name = 'WiFi' and prop_id in (
- select prop_id from advanced_options where name = 'Walking distance to pub' and prop_id in (
- select prop_id from advanced_options where name = 'Swimming pool' and prop_id in (
- select prop_id from advanced_options where name = 'Sea or River views' and prop_id in (
- select prop_id from advanced_options where name = 'Pet friendly' and prop_id in (
- select prop_id from advanced_options where name = 'Open fire, wood burning stove or a real flame fire-place' and prop_id in (
- select prop_id from advanced_options where name='Off road parking')
- )
- )
- )
- )
- )
- )
- )
- INSERT INTO `advanced_options` (id, name)
- VALUES
- (1, 'Wifi'),
- (2, 'Enclosing Garden'),
- (8, 'Swimming Pool'),
- (16, 'Grill');
- Wifi + Swimming Pool = 1 + 8 = 9
- SELECT * FROM `properties` WHERE `advanced_options` & 9 = 9
- SELECT * FROM `properties` WHERE `advanced_options` & 8 = 8
- |prop_id | wifi | swimming_pool | etc..
- -----------------------------------
- | 1 | 0 | 1 |
- | 2 | 1 | 0 |
- SELECT * FROM properties AS p
- INNER JOIN property_options AS po ON p.id = po.prop.id
- WHERE wifi = 1 AND swimming_pool = 1 ....
- select o1.prop_id
- from advanced_options o1
- inner join advanced_options o2 on o1.prop_id = o2.prop_id and o2.name = "WiFi"
- where o1.name = 'Within 2 miles of sea or river'
- select p.*,count(a.prop_id) as cnt
- from properties p
- inner join advanced_options a on a.prop_id = p.id
- where a.name in ('Enclosed garden','Swimming pool')
- group by p.name
- having cnt = 2
- SELECT * FROM properties WHERE id in (select prop_id from advanced_options where name in ('Within 2 miles of sea or river'.'WiFi','Walking distance to pub','Swimming pool','Sea or River views','Pet friendly','Open fire, wood burning stove or a real flame fire-place','Open fire, wood burning stove or a real flame fire-place'))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement