Php 将两个查询合并为一个查询,该查询需要来自第一个查询中第二个查询的值

Php 将两个查询合并为一个查询,该查询需要来自第一个查询中第二个查询的值,php,mysql,Php,Mysql,我有两个SQL查询: $res1 = mysql_query("SELECT * FROM `table1` WHERE `user`='user'"); $i = mysql_fetch_assoc($res1); $value1 = $i['num']; 以及: 如何将两个SQL查询合并为一个?我需要从第一个请求的第二个查询中获取变量的值。有可能吗?这个带有子查询的查询应该可以很好地帮助您: insert into table 2 (`name`, `num`) valu

我有两个SQL查询:

$res1 = mysql_query("SELECT * FROM `table1` WHERE `user`='user'");
$i = mysql_fetch_assoc($res1);    
$value1 = $i['num'];
以及:


如何将两个SQL查询合并为一个?我需要从第一个请求的第二个查询中获取变量的值。有可能吗?

这个带有子查询的查询应该可以很好地帮助您:

insert into table 2 (`name`, `num`) 
    values ('name', (select `num` from table1 where `user`='user'));
这假设您只使用第二个查询中的
num
,因为它似乎没有在原始代码中使用


编辑:另外,我看到这是一个insert语句,不仅仅是一个select语句,但是你可能会从阅读我写的一篇相当长的文章中受益,这篇文章涵盖了多个表和SQL,涵盖了联合、联接、子查询和其他一些内容。

你能将insert语句用于。。。选择。。。语法

例如,类似于:

INSERT INTO table2 (name, num)
SELECT 'name', num
FROM table1
WHERE user='user' 
(未经测试,因此请原谅此处的任何小错误…

放弃此操作


最好的答案是让PHP拥有MYSQL需要的数据。任何其他方式都会造成瓶颈,效率低下

如果可以运行多个语句,则可以放置一个
。我认为PDO或
mysqli\uuu
可以做到这一点(如果允许的话),但是
mysql\uu
(注意,没有
I
)不能做到(你应该停止使用它,因为它已经被弃用了,过时了,不再相关)。请考虑使用PDO,因为它更安全,并且有很多帮助方法。哦,然后,您应该使用php来保存数据,而不是使用SQL。php不处理SQL。使用php服务器获取数据,然后将其交给SQL。是的,SQL可以,但它不是明智的,它将成为瓶颈。这在很大程度上取决于数据库结构。这就像是在上数学课。2+2=4,不太可能,因为相等的意思是什么。我不知道这会被调用多少次,但如果调用频率很高,那么就不应该由sql来处理。然而,如果你打算这样做的话,你贴出来的绒毛是最好的方法。
INSERT INTO table2 (name, num)
SELECT 'name', num
FROM table1
WHERE user='user'