2016-03-31 24 views
0

Şu an SQL'i öğreniyorum ve daha sonra yapmak istediğimde daha iyisini yapmak istiyorum. 2 Tablaya sahibim.SQL ilgili olmayan sütunları silme

sınırları (id, COUNTRY1, COUNTRY2, boy), ülke (adı nüfus)

.

Ben

Benim çözümü D.

adında belli ülke çapında tüm ülkelerini almak istiyorum:

SELECT country1, country2 FROM borders WHERE country1 = 'D' OR country2= 'D' 

image

Ama 2 sütun almak istemiyoruz. Sadece bir tane almak için bir seçenek var mı? Yardımlarınız için teşekkürler.

Painter21

+0

sorunuzu düzenlemek ve örnek verileri ve istenen sonuçlarını ekleyin . –

+0

hangi dbms üzerindesiniz? –

+1

Verimsiz yerine alakasız söylemek istediğinizi düşünüyorum. –

cevap

4

Kullanım IF: MySQL kullanmıyorsanız

SELECT IF(country1 = 'D', country2, country1) 
FROM borders 
WHERE 'D' IN (country1, country2) 

, ardından CASE ifade yapacağız:

SELECT CASE country1 WHEN 'D' THEN country2 ELSE country1 END AS country 
FROM borders 
WHERE 'D' IN (country1, country2) 
+0

Eğer OP kullandığı dbms'de bulunmuyorsa, CASE muhtemelen daha evrensel bir çözümdür –

+0

@ vc74 Evet haklısınız, sorunun MySQL ile etiketlendiğini düşündüm. –

+0

şimdi benim oyımı al;) –

İlgili konular