mysql> describe skin;
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| skinid | int(10) unsigned | NO | PRI | NULL | auto_increment |
| skin_name | varchar(15) | NO | | NULL | |
| skin_way | varchar(32) | NO | | NULL | |
| date_skin | int(10) unsigned | NO | MUL | NULL | |
| skin_count | int(10) unsigned | NO | | NULL | |
| uid_skinfrom | int(10) unsigned | NO | MUL | NULL | |
| skcatid_skin | int(10) unsigned | NO | | NULL | |
+--------------+------------------+------+-----+---------+----------------+
有必要从这个表中提取值,在一行中,但在两列中:
您需要获取 skin_count 的值,但要针对不同的 skinid。作为例子,我将给出两个需要合并的查询。我知道你可以使用mysqli_stmt_bind_param()参数重新绑定,但是是否可以在一行中拉出两个值?
以下是示例查询(它们需要合并为一个,好吧,呃,如果可能的话?):
select skin_count from skin where skinid=$_SESSEION['cur_skin'];
select skin_count from skin where skinid=$new_skinid;
我想得到类似的东西
+--------------+-----------+
| oldcount | newcount |
+--------------+-----------+
| 48 | 25 |
+--------------+-----------+
如何使用 as`s 或嵌套请求或其他方式做到这一点?
select (select skin_count from skin where skinid={$_SESSEION['cur_skin']}) as curskin, (select skin_count from skin where skinid=$new_skinid) as newskin也可以这样:
但有限制——两个 ID 都保证在数据库中。如果至少缺少一个 ID,则查询将不返回任何内容。