ホームページ >バックエンド開発 >PHPチュートリアル >データベースステートメントに関する質問に答えるようにマスターに依頼してください。

データベースステートメントに関する質問に答えるようにマスターに依頼してください。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 12:49:47907ブラウズ

マスターにデータベースステートメントに関する質問に答えるように依頼してください

<br />
SELECT `id` , `time` , `title`<br />
FROM `think_infor`<br />
WHERE `type` LIKE '$k-%'<br />
			<br />
UNION ALL<br />
			<br />
SELECT `id` , `time` , `title`<br />
FROM `think_infor2`<br />
WHERE `type` LIKE '$k-%'<br />
			<br />
ORDER BY `time` DESC<br />
LIMIT 0,6<br />


このステートメントを使用して、表 1 と表 2 の最新の 6 つの情報をクエリします。しかし、レコードがどのテーブルから返されたかをどのように判断するのでしょうか?
それとも、複数回クエリを実行したくない他の方法はありますか?


-----解決策--------------------------------
自分で書いてもいいですか?
SELECT `id` , `time` , `title`, 'think_infor' as tbl_name<br />
  FROM `think_infor`<br />
  WHERE `type` LIKE '$k-%'<br />
UNION<br />
SELECT `id` , `time` , `title`, 'think_infor2' <br />
  FROM `think_infor2`<br />
  WHERE `type` LIKE '$k-%'<br />
ORDER BY `time` DESC<br />
LIMIT 0,6

データ ソースを区別するために出力フィールド tbl_name を追加しました
レコードの重複を避けるために、Union all は Union に変更されます。ソースをさらに追加せずに同じことを繰り返すつもりはありません
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。