mysql - 连接两个 MYSQL 查询

标签 mysql while-loop

我有两个简单的查询,但我需要一点帮助才能将它们连接到一个结果中

$query="SELECT * FROM USLUGE WHERE marka='1'";

第二个查询

$query2="SELECT * FROM USLUGE WHERE marka='2'";

我知道 $query 的结果将给出来自表 USLUGE 其中 marka=1 的所有内容,而结果 $query2 将给出来自表 USLUGE 其中 marka=2 的所有内容

但是我需要将这两个查询连接到一个查询中,当我执行 WHILE 循环时,为我提供两个查询的所有结果,而不是两个不同的 WHILE 循环,而只是一个包含两个查询结果的 WHILE 循环?

这可能吗,例如我给出了一个非常简单的查询来理解:)

最佳答案

只要表结构相同(更具体地说,如果两个查询返回相同数量的字段和相同的数据类型),就可以使用 SQL UNION 关键字,例如:

SELECT id, name FROM table1
UNION
SELECT id, name FROM table2

请注意,如果返回的列数或数据类型不匹配,则尝试执行查询将导致错误,例如,

SELECT id, name, comment FROM table1
UNION
SELECT id, name FROM table2

无法工作并且会导致错误。

编辑:对于重写的问题,在 WHERE 子句中使用 ORIN 效果更好解决办法:

SELECT * FROM USLUGE WHERE marka='1' OR marka='2'

SELECT * FROM USLUGE WHERE marka IN ('1', '2');

关于mysql - 连接两个 MYSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594334/

相关文章:

php - 在 mysql where in 子句中对数组使用内爆

mysql - 计算所选列的总数

java - 程序永远不会在 ArrayList 中找到某个项目,即使它应该在那里

javascript - 如何用递归函数替换while?

mysql - iReport 中的 SQL Join 语句

mysql - 关于从移动应用程序访问 MYSQL 数据库的方法的建议

php - 想要将图像路径存储到 MySQL 时遇到麻烦

php - 使用 while 循环将值添加到数组中

Java:While 循环中嵌入 Equals 语句

linux bash 数组在 while block 后不包含任何数据