Your comments

Also this may complicate things but the secondary information is dynamic. So you should be able to change values there and then scroll to the next one, scroll back later and see the most recent changes.

What I have now is that there are variables for all of the values that can change and whenever the user edits a value the display is altered and that variable. Then when the user moves to the next "card" those variables are saved in the sql table and then reset to the values from the next "card" pulled from the sql table. So there is only one set of variables at a time and they are only used to commit changes to the sql table.

Is there a way to set each card to display the values from the sql database but only populate the variables for whichever card currently has focus?

Thanks for the help.
Also this may complicate things but the secondary information is dynamic. So you should be able to change values there and then scroll to the next one, scroll back later and see the most recent changes.
I am trying to implement this and right now I don't have any scroll actions implemented, just the secondary list and loading the secondary data for a single name when it is clicked. When I do click it it opens the secondary list, but every entry is empty except the final (right most) entry which has the correct values of the name I clicked.

Any idea why it only loads the data into the end of the list?
I'm not sure I fully understand. Would I have two different lists referencing the same sql table in this case? The two lists would just be different ways of visualizing the info, right? So the click action on the first list panel would change to a scroll to action on the secondary list (and also pull that panel up in front)?

Is that what you are trying to suggest?
You were totally right and I had given the columns slightly different names. However now I have a new problem. Right now I have

<assign property="datasource:matchesdb-list.query" value="SELECT A.ID, A.PERSON1, A.PERSON2, B.FULLNAME AS 'NAME1', C.FULLNAME AS 'NAME2' FROM MATCHES AS A INNER JOIN PEOPLE AS B ON B.FULLNAME = A.PERSON1 INNER JOIN PEOPLE AS C ON C.FULLNAME = A.PERSON2 WHERE A.ID=1;"/>

<alert message="[datasource:matchesdb-list.dataSourceResultCount]"/>

But the alert is always displaying "0" and the rest of my code which creates the feed also displays nothing. Any suggestions would be appreciated. Thanks.
That is similar though in my case there is a predetermined matchup order represented in the matches table. So the matches table is already fully populated going into this select call. I am hoping to use that select & join and put it into the matches-listdb datasource and then display that like in the wire datasource tutorial.

I think something like this
http://stackoverflow.com/questions/8160671/sqlite-...
is closer to what I am doing.

I will try working on this again tonight and let you know if any of the suggestions helped. I am a bit worried that I may have left out autoincrementing the id or somehow made it not unique.

Thanks.
Sorry I wasn't clear in how I want this to work. Matches' person1 and person2 are numbers, representing seeds, so each row would imply 1 v 4, 2 v 3, etc. The people table has each persons ID as their seed. I want to be able to take a table of people ordered from 1st seed to nth seed,and using a previously generated table of matches to display the list of matches, in order, with each seeds name in addition to their seed.

So for People
1, Doug
2, John
3, Bob
4, Kev

and Matches
1, 1, 2 (where the first 1 is just the id/ the primary key?)
2, 3, 4

I could display
"1 Doug v 2 John"
"3 Bob v 4 Kev"

If that makes sense.

Thanks for your help.