Cum pentru a compara o valoare cu o valoare care corespunde cu o altă valoare?

0

Problema

Am un tabel:

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

Am nevoie pentru a lista toate pizza elemente, care au același country element, ca sicilliano pizza, nu folosind o subinterogare.

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

Cel mai bun răspuns

1

INNER JOIN la aceeași masă se vedea manualul despre ALĂTURAȚI-vă

Ca tu nu vrei subinterogare, ai circumvnt că, prin utilizarea alăturați-vă, atunci când a alerga

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

Vezi tat pentru țară rând în t1 veți găsi un rând de la t2. Deci, pentru siziliano în t1 ai funghi și siziliano în t2.

Restul este reducerea tuturor t2 rânduri, pentru cei care aveți nevoie

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 |
| sicilliano |

db<>vioara aici

2021-11-24 08:56:30

Poate am cerut mai multe explicații? Am încercat să citesc aceste manuale cu toate acestea, eu nu pot par să-l înțeleagă.
czarniecki

am adăugat o explicație, în general, arată toată coloana și deci, veți vedea betrer ce o face sau clauza where
nbk

Și dacă am vrut pentru a lista toate pizza, care au prețuri mai mari, decât unul specific? SELECTAȚI t2.pizza DIN meniu t1 INNER JOIN meniu t2 PE t1.pret = t2.prețul UNDE t1.pret > "americano"; am incercat ceva de genul asta, dar, evident, nu se poate compara șir cu număr întreg
czarniecki

este același lucru cu un subquerz zou nevoie pentru a selecta prețul de american, cu zou trebuie să adere la o altă masă că filtre everzthing că este mai mic, da un trz sau de a face o altă întrebare, aveți acum o vioara link-ul de pe care le puteți adăuga
nbk

În alte limbi

Această pagină este în alte limbi

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