我想用php/mysqli比较表中两行之间的所有列,但就是不知道该怎么做。我的桌子看起来像:
+----------+----------+----------+----------+----------+--------------+
| username | compare1 | compare2 | compare3 | compare4 | compare5 etc |
+----------+----------+----------+----------+----------+--------------+
| Adam | 1 | 0 | 1 | 1 | 0 |
| Billy | 1 | 1 | 1 | 1 | 0 |
| Charlie | 1 | 0 | 0 | 1 | 1 |
+----------+----------+----------+----------+----------+--------------+
我想选择用户名Charlie作为子项,用户名Adam作为父项,然后比较表中所有其他列(有很多列)的值。如果任何子值为0(父值为1),则查询返回false,否则返回true。
提前谢谢!
最佳答案
你可以:
select (count(*) = 0) as flag
from t tp join
t tc
on tp.username = 'Adam' and tc.username = 'Charlie'
where (0, 1) in ( (tp.compare1, tc.compare1), (tp.compare2, tc.compare2),
. . .
);
注意:这假设每个
username
只有一行。关于php - 比较同一表中2行之间的所有列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49956294/