Bir değeri, başka bir değere karşılık gelen bir değerle nasıl karşılaştırabilirim?

0

Soru

Bir tablo var :

Table 1
pizza     |price|country|base
-----------------------------------
americano | 2   | U.S   | wholemeal
funghi    | 3   | Italy | wholemeal
sicilliano| 7   | Italy | wholemeal

Hepsini listelemeliyim. pizza aynı olan öğeler country element, siciliano olarak pizza alt sorgu kullanmıyorum.

mysql
2021-11-24 00:48:27
1

En iyi cevabı

1

INNER JOIN aynı tablo BİRLEŞTİRME ile ilgili kılavuza bakın

Alt sorgu istemediğiniz için, çalıştırdığınızda joın kullanarak onu atlatırsınız

SELECT t1.*,t2.* FROM Table1 t1 INNER JOIN Table1 t2 ON t1.`country` = t2.`country`

Tat for ever ülke satırını t1'de görüyorsunuz, t2'den bir satır buluyorsunuz. Yani t1'deki siziliano için t2'de funghi ve siziliano elde edersiniz.

Gerisi, tüm t2 satırlarını ihtiyacınız olanlara indirgemektir

CREATE TABLE IF NOT EXISTS Table1 (
  `pizza` VARCHAR(10),
  `price` INTEGER,
  `country` VARCHAR(5),
  `base` VARCHAR(9)
);

INSERT IGNORE INTO Table1
  (`pizza`, `price`, `country`, `base`)
VALUES
  ('americano', '2', 'U.S', 'wholemeal'),
  ('funghi', '3', 'Italy', 'wholemeal'),
  ('sicilliano', '7', 'Italy', 'wholemeal');
SELECT t2.`pizza` FROM Table1 t1 INNER JOIN Table1 t2 ON t1.`country` = t2.`country` WHERE t1.`pizza` = 'sicilliano'
| pizza |
| :--------- |
| funghi     |
| siciliano |

db < >keman < > burada

2021-11-24 08:56:30

Biraz daha açıklama isteyebilir miyim? Bu kılavuzları okumayı denedim, ancak kavrayamıyorum gibi görünüyor.
czarniecki

bazı açıklamalar ekledim, genel olarak tüm sütunları göster ve böylece bir birleşimin ne yaptığını veya where yan tümcesini görüyorsunuz
nbk

Ve eğer fiyatları belirli bir pizzadan daha yüksek olan tüm pizzaları listelemek isteseydim? t2'yi SEÇİN.t1 menüsünden pizza T1 ÜZERİNDEKİ t2 İÇ BİRLEŞTİRME menüsü.fiyat = t2.fiyat NEREDE t1.price > 'americano' ; Böyle bir şey denedim, ancak açıkçası dizeyi tamsayı ile karşılaştıramazsınız>
czarniecki

aynı şey, americano'nun fiyatını seçmeniz gereken bir alt yazı ile aynıdır, daha küçük olan her şeyi filtreleyen başka bir tabloya katılmanız, bir trz vermeniz veya başka bir soru sormanız gerekir, şimdi ekleyebileceğiniz bir keman bağlantınız var
nbk

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................