SQL 从一行中获取特定数据的第一个实例

SQL get first instance of specific data from a row

所以我有一个 sql table 看起来像这样

我正在尝试使用 p1Name、p2Name 等将玩家名称插入 Empty 的第一个实例中,并将其插入到 tableNumbertableNumber=minTable 我真的很陌生sql 所以这可能是错误的,但我对如何做到这一点感到困惑。 这是我试过的..

sql = "SELECT * as slot FROM Tables "
                                + "WHERE p1Name = 'Empty'" 
                                + " OR p2Name = 'Empty'"
                                + " OR p3Name = 'Empty'"
                                + " OR p4Name = 'Empty'"
                                + " OR p5Name = 'Empty'"
                                + " OR p6Name = 'Empty'"
                                + "AND tableNumber = '" + minTable + "'";

它给我一个 sql 异常错误,没有详细信息,所以我不确定我在这里做错了什么,如果有人有任何见解,我们将不胜感激。

试试这个:

sql = "SELECT * FROM Tables WHERE"
                            + "( p1Name = 'Empty'" 
                            + " OR p2Name = 'Empty'"
                            + " OR p3Name = 'Empty'"
                            + " OR p4Name = 'Empty'"
                            + " OR p5Name = 'Empty'"
                            + " OR p6Name = 'Empty' )"
                            + " AND tableNumber = '" + minTable + "'";

像这样。 '*'字符表示"ALL"。所以解释是:

SELECT ALL DATA FROM TABLES WHERE (col1='x' OR col2='y' OR ..) AND coln = 'x'