簡體   English   中英

如何在多個表的多個字段中獲取唯一字段值?

[英]How to get the distinct field value in a multiple field in multiple table?

我有兩個表x和y。 在x表中,x1作為國家,x2作為國家,y表將y1作為國家,y2具有國家。 對於此數據,我如何通過這四個國家/地區字段獲得這兩個表中的不同國家/地區值?

在此之前,我曾在單個表格中使用過一個國家/地區,

$query="select distinct(`x1`) from x";

現在,我在這兩個表中以及從四個國家/地區值中取不同的值。 對於這種結合是可能的。 但是我需要在沒有聯合概念的情況下在單個查詢中使用的任何解決方案。

請提供這個想法。 提前致謝...

想法:使用UNION

不是有史以來最高效的查詢,但是請嘗試以下操作:

SELECT `x1` FROM x
UNION 
SELECT `x2` FROM x
UNION 
SELECT `y1` FROM y
UNION 
SELECT `y2` FROM y

聯盟是這個問題的最佳答案,因為這正是它的設計宗旨。

我能想到的唯一其他方法是完全外部聯接-類似於:

select coalesce(cx.country,cy.country) country 
from (select distinct country from x) cx
full outer join (select distinct country from y) cy 
on cx.country = cy.country

但是,據我所知,您無法在MYSQL中進行完全外部聯接-解決方法涉及並集...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM