2 つのテーブルからのクエリ結果が重複している場合はどうすればよいですか?

WBOY
リリース: 2016-06-23 14:05:06
オリジナル
947 人が閲覧しました

テーブル A
ID タイトル
1 123
2 456
3 789
....
テーブル B
ID 名
1 987
2 654
3 321
....
SQL コードは
select table A 。 * , B table. * from A table A, B table B where A.id in (1, 2, 3)
クエリ結果に重複した数値が表示されないようにするにはどうすればよいですか? ?


ディスカッション (解決策) への返信

2 つのテーブルを関連付けていないため、重複は避けられません

そうですか?
select Table A. * , Table B. * from Table A, Table B where A.id=B.id A.id in (1, 2, 3)

修正
select Table A. * , Table B . * from A table A, B table B where A.id=B.id and A.id in (1, 2, 3)

訂正
A table A、B Table B から選択します。ここで、A.id=B.id と (1, 2, 3) の A.id
ただし、2 つのテーブルの ID は異なります

しかし、2 つのテーブルの ID は異なります
2 つのテーブルには連絡してください、なぜ一緒に置いているのですか?喬知事?由 由 この投稿は xuzuning によって最終編集されました: 2013-04-07 18:57:31

4 階からの引用 U010184133 返信: ただし、2 つのテーブルの ID は異なります。2 つのテーブルは接続されていないため、保持します。古い 一緒に何をしましょうか?喬知事?

フィールドは関連していませんが、情報は関連しています。foreach のみを使用できますか?


テーブルの結果、テストデータと期待される結果を投稿し、ビジネスロジックを簡単に説明することをお勧めします。

全体の状況は次のとおりです:

テーブル構造

ID 名情報

1 列 1 (ストレージ スタイルは:{s:6:"picid";s:2:"74";s:9:"text " ;s:1:"ストレージコンテンツ領域";})
2 列 2 (ストレージスタイルは:{s:6:"picid";s:2:"75";s:9:"text"; です。 s: (
[0] => 74
[1] => 75
)
次に、テーブル B の ID 74 と 75 のデータをクエリします
次に、これら 2 つのテーブルの内容を関連付けて出力するにはどうすればよいでしょうか?
出力結果はどうなるか: r 配列
(
[0] = & gt; 配列
(
[id] = & gt; 1
[名前] = & gt; 列
[url] = & gt; 画像パス
[情報] =>情報の内容
)列1
] =&gt .... substring_index(substring_index(substr(info,locate('"text"', info)), ' "', 4), '"', -1) as info

2 つのテーブル間の関連付け条件
Table B.id = substring_index (substring_index(substr(info,locate('"picid"', info)), '" ', 4), '"', -1)


重複があるため、実際には Group by を使用してそれらをグループ化します。間接的に重複を削除できます

info 内のテキストの内容の表現を抽出します
substring_index(substring_index(substr(info,locate('"text"', info)), '"', 4), '"', -1) を info として抽出します

2 つのテーブル間の関連付け条件
Table B.id = substring_index(substring_index(substr(info, l...
その中の 4 は何を指しているのかお聞きしたいのですが?

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート