Posted to tcl by pooryorick at Sun Feb 07 21:57:38 GMT 2016view pretty
package require sqlite3 sqlite3 [namespace current]::db :memory: db eval { create table if not exists eav ( id integer primary key autoincrement ,entity numeric ,attribute text ,value ) ; insert into eav values (3 ,1 ,'name' ,'Imogen') ,(5 ,1 ,'gender' ,'female') ,(6,1 ,'son' ,'Guiderius') ,(7,1 ,'son' ,'Arvirargus') } set pattern0 1 set report2 name set report3 gender puts [db eval { select distinct eav.* from eav join eav as eav0 on eav.entity == eav0.entity and eav0.entity == :pattern0 where eav.attribute == :report2 union select distinct eav.* from eav join eav as eav0 on eav.entity == eav0.entity and eav0.entity == :pattern0 where eav.attribute == :report3 order by eav.id }]
Comments
Posted by pooryorick at Sun Feb 07 21:58:43 GMT 2016 [text] [code]
On my system, this produces: 3 1 name Imogen 5 1 gender female 5 1 1 female