0

2 つの単純なクエリがありますが、それらを 1 つの結果にまとめるには少し助けが必要です

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

そして2番目のクエリ

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

$query からの結果は、marka=1 のテーブル USLUGE から ALL を返し、$query2 の結果は、marka=2 のテーブル USLUGE から ALL を返すことを知っています。

しかし、この 2 つのクエリを 1 つのクエリに結合する必要があります。WHILE ループを実行すると、2 つの異なる WHILE ループではなく、両方のクエリの結果を含む 1 つの WHILE ループだけで、両方のクエリからすべての結果が得られます。

それは可能です、例として私は理解するためにとても簡単なクエリを与えました:)

4

3 に答える 3

1

As long as the table structure is the same (more specifically, if both queries return the same number of fields and the same datatypes), you can use SQL UNION keyword, for example:

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

Note though that if the number of returned columns or datatypes do not match, then attempting to execute the query will result in an error, for example,

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

will not work and will result in an error.

EDIT: with a rewritten question, using OR or IN in the WHERE clause is a much better solution:

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

or

SELECT * FROM USLUGE WHERE marka IN ('1', '2');
于 2013-07-11T13:27:35.270 に答える