title: How to split unstable-numbered CSV in SQL
body: <p>Currently, I am working on a project which is an application for Google Scholar analysis.</p>
  <p>The basic specifications are ; parsing the title, author/s, publication venue... of the paper.</p>
  <p>So, I can parse the HTML via C#, then store the variables in a SQL Server database.</p>
  <p>Here is the problem, when I parse the author/s part it returns me something like that:</p>
  <blockquote>
  <p>R Feynman, L Krauss.</p>
  </blockquote>
  <p>or</p>
  <blockquote>
  <p>R Feynman</p>
  </blockquote>
  <p>or</p>
  <blockquote>
  <p>R Feynman, L Krauss, C Sagan</p>
  </blockquote>
  <p>I have read the answers about the Comma Separated Values on SQL Server. However, in my case, value for author/s column is not stable. What I want is; store author name/s in another table and resulting query should be like that:</p>
  <blockquote>
  <p>R Feynman, L Krauss,    NULL, NULL</p>
  <p>R Feynman,     NULL,    NULL, NULL</p>
  <p>R Feynman, L Krauss, C Sagan, NULL</p>
  </blockquote>
  <p>If you have any suggestion please let me know.</p>
  <p>Thank you!</p>
  <p>Added after Edit:</p>
  <p>I am taking the HTML partially from Google Scholar and show related field to user in some ListBox;</p>
  <p><code>WebClient web = new WebClient();</code></p>
  <p><code>string URL = URLTextBox.Text;</code></p>
  <p><code>string page = web.DownloadString(URL);</code></p>
  <p><code>string publicationName = &quot;class=\&quot;gsc_a_at\&quot;&gt;(.*?)&lt;/a&gt;&lt;div class=\&quot;gs_gray\&quot;&gt;(.*?)&lt;/div&gt;&lt;div   class=\&quot;gs_gray\&quot;&gt;(.*?)&lt;span class=\&quot;gs_oph\&quot;&gt;, (.*?)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=\&quot;gsc_a_c\&quot;&gt;&lt;a href=\&quot;(.*?)\&quot; class=\&quot;gsc_a_ac\&quot;&gt;(.*?)&lt;/a&gt;&lt;/td&gt;&lt;td class=\&quot;gsc_a_y\&quot;&gt;&lt;span class=\&quot;gsc_a_h\&quot;&gt;(.*?) &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr class=\&quot;gsc_a_tr\&quot;&gt;&lt;td class=\&quot;gsc_a_t\&quot;&gt;&lt;a href=\&quot;(.*?)\&quot;&quot;; </code></p>
  <p><code>foreach(Match match in Regex.Matches(page, publicationName))</code></p>
  <p><code>{</code></p>
  <p><code>listBox1.Items.Add(match.Groups[1].Value);</code></p>
  <p><code>listBox2.Items.Add(match.Groups[2].Value);</code></p>
  <p><code>listBox3.Items.Add(match.Groups[3].Value);</code></p>
  <p><code>listBox4.Items.Add(match.Groups[4].Value);</code></p>
  <p><code>listBox5.Items.Add(match.Groups[5].Value);</code></p>
  <p><code>listBox6.Items.Add(match.Groups[6].Value);</code></p>
  <p><code>}</code></p>
  <p>Then I took the values from listbox to database.</p>
  <p><code>using (SqlCommand command = new SqlCommand(&quot;insert into tbl_Titl values(@val) insert into tbl_Auth</code>  <code>values(@val2) insert into tbl_Publ values(@val3) insert into tbl_Year values(@val4) insert into</code> <code>tbl_Link values(@val5) insert into tbl_Cita values(@val6)&quot;, connection))</code></p>
  <p><code>{</code></p>
  <pre><code>                    for (int i = 0; i &lt; listBox1.Items.Count; i++)
  
                      { 
  
                          command.Parameters.Clear();
  
                          command.Parameters.AddWithValue(&quot;@val&quot;, listBox1.Items[i]);
  
                          command.Parameters.AddWithValue(&quot;@val2&quot;, listBox2.Items[i]);
  
                          command.Parameters.AddWithValue(&quot;@val3&quot;, listBox3.Items[i]);
  
                          command.Parameters.AddWithValue(&quot;@val4&quot;, listBox4.Items[i]);
  
                          command.Parameters.AddWithValue(&quot;@val6&quot;, listBox6.Items[i]);
  
                          command.ExecuteNonQuery();
  
                     }
  
                 }          
  </code></pre>
  <p>After these steps, joining the tables in database and in a query having all the result.</p>
  <p>It is edited at the request of <code>DJ KRAZE</code></p>