SUNScholar/SQL Tips

From Libopedia
Revision as of 15:49, 22 September 2014 by Hgibson (talk | contribs)
Jump to navigation Jump to search
Back to System Admin

Below are SQL statements to be used for various purposes.

Extract metadata
  • SELECT * FROM metadatavalue WHERE metadata_field_id = ( SELECT metadata_field_id FROM metadatafieldregistry WHERE element = 'date' AND qualifier = 'issused' )
  • SELECT * FROM metadatavalue WHERE metadata_field_id = ( SELECT metadata_field_id FROM metadatafieldregistry WHERE element = 'contributor' AND qualifier = 'advisor' )
Find short dates
  • SELECT * FROM metadatavalue,metadatafieldregistry WHERE metadatavalue.metadata_field_id = metadatafieldregistry.metadata_field_id AND element = 'date' AND qualifier = 'accessioned' AND CHAR_LENGTH(text_value) < 10;
Empty date
  • SELECT item_id FROM metadatavalue WHERE metadata_field_id = ( SELECT metadata_field_id FROM metadatafieldregistry WHERE element = 'date' AND qualifier = 'accessioned' ) AND text_value = ;
Empty type
  • SELECT item_id FROM metadatavalue WHERE metadata_field_id = ( SELECT metadata_field_id FROM metadatafieldregistry WHERE element = 'type') AND text_value = ;
Search for metadata
  • SELECT * FROM metadatavalue WHERE text_value like '%Peer%';
  • SELECT metadatavalue.text_value FROM public.metadatavalue WHERE metadatavalue.text_value = 'JournalArticles';
Update/replace metadata
  • UPDATE metadatavalue SET text_value = 'Journal Article' WHERE text_value = 'Journal Articles'
  • UPDATE metadatavalue SET text_value = 'Article' WHERE text_value = (SELECT metadatavalue.text_value FROM public.metadatavalue WHERE metadatavalue.text_value = JournalArticles'); UPDATE +1
List items in collections
  • SELECT item_id FROM collection2item WHERE collection_id= '1297';
List items in collections by title
  • SELECT metadatavalue.item_id, metadatavalue.text_value FROM public.collection2item, public.metadatavalue WHERE collection2item.item_id = metadatavalue.item_id AND collection_id = 1289 AND metadata_field_id = 64 ORDER BY metadatavalue.item_id ASC;