ホームページ >バックエンド開発 >PHPチュートリアル >モデレータに簡単な質問をしてください
表 A 表B
id 値id 値
20120101 120 20120101 10
20120201 100 20120304 5
20120301 90 20120401 6
20120401 72 20120501 7
20120501 45 20120601 16
20120601 75 20120701 80
20120701 60 20120901 15
两个表。
上の 2 つの表が SQL 句から抽出された 2 つの項目である場合、同じ不一致の追加が必要です。また、循環出力
不一致の意思表示、上の句
まあ、こうやって書いても大丈夫ですよ。ただし、ここでは 2 つの SQL ステートメントを実行して上記の値を取得し、ループで出力します。 ID によるフラッシュバックにより、追加が対応できなくなります。 while ループが使用されます。
while($date=mysql_fetch_array($sql)){
$aa=mysql_fetch_array($query)
$bb=mysql_fetch_array($querys)
echo $aa[1]+$bb[1]
}出力に関しては、私の $query $querys ステートメントは時間フラッシュバックに基づいているため、2 番目の結果セットのデータが多いか、最初の結果セットのデータが少ない場合、対応しません。フラッシュバックを単に合計するだけでは正確ではありません。これを解決したい。
SQL を使用するだけで、なぜ 2 回フェッチする必要があるのでしょうか?
サブクエリを使用して 2 つのテーブルをリンクする
1. 左結合
2. フィールドを追加する
3. クエリを持つ
2 つの SQL を 1 つに書き込んで、同時に結果セットを返すことができますか。
select sum(A.value+B.value),A.value,B.value
from A left join B on A.id=B.id group by A.id
2 つの SQL を 1 つに書くことはできますか? 、同時に結果セットを返します。
select sum(A.value+B.value),A.value,B.value
from A left join B on A.id=B.id group by A.id
出力する必要がある別の ID もあります
select sum(A.value+B.value),A.value,B.value
from A left join B on A.id=B.id group by A.id
すべての A.B テーブルを結合してみることができます