title: Crystal Reports vs. SQL Queries
body: <p>I'm a programmer (mostly C++) who has moved into a non-software workplace.  However, I don't have much experience with database stuff at all.</p>
  
  <p>TL;DR: If we compare Crystal Reports to just writing scripts that execute SQL queries and parse the results, is there anything that CR can do that isn't possible via SQL queries &amp; scripts?  I'm talking purely in terms of extracting data - not making pretty documents.</p>
  
  <hr>
  
  <p>Detail:</p>
  
  <p>At my workplace they have a process where you run a bunch of Crystal Reports, modify the date range to the current month, manually export each to excel, delete the rows and columns that aren't needed, and then cut and paste into a summary excel document that is used by management.</p>
  
  <p>To me, this is pretty crazy and stupid.  I'd like to automate/script most of it.</p>
  
  <p>So I have two options:</p>
  
  <ul>
  <li>Learn Crystal Reports and try to modify the existing reports to be more automated.</li>
  <li>Dump CR and just learn SQL and do the whole thing programmatically with scripts working with CSV files or something.</li>
  </ul>
  
  <p>I'd much rather learn SQL since it's more general and useful.  But I need to be assured that I can get the data output that I need (without writing a million lines of code to reproduce CR myself.)</p>
  
  <p>So yeah, I'm looking for an answer like, "The two are equivalent.  Anything you can do in CR you can do easily via scripts and SQL," or "If you need to group records into categories based on a parameter and then sum their one of their fields, then CR will do it much more easily than raw code," to push me in one direction or another.</p>
  
  <p>Edit:
  Some additional detail.  At the moment my crystal reports run a database query, and then crystal does things like, "don't display the records that are returned, instead group the records by Field A and then display the count of how many records in each group."</p>
  
  <p>Is functionality like this difficult to reproduce via SQL coding?  I wouldnt want to have to write a python (or whatever) script to parse and manipulate the data from plaintext CSV, for example.</p>