Ako porovnávať jednu hodnotu, s hodnotou, ktorá zodpovedá inú hodnotu?

0

Otázka

Mám tabuľka:

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

Potrebujem na zoznam všetkých pizza prvky, ktoré majú rovnakú country prvok, ako sicilliano pizzanie pomocou poddotaz.

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

Najlepšiu odpoveď

1

INNER JOIN rovnaké tabuľky nájdete v príručke o ZAREGISTRUJTE

Ako nechcete poddotaz, ste circumvnt to, pomocou pripojiť sa pri spustení

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

Vidíte, tat na veky krajiny riadok v t1 nájdete rade z t2. Takže pre siziliano v t1 dostanete funghi a siziliano v t2.

Zvyšok je zníženie všetkých t2 riadkov, na tie, ktoré potrebujete

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 - <>husle tu

2021-11-24 08:56:30

Môžem požiadať o niektoré ďalšie vysvetlenie? Snažil som sa čítať tieto príručky však ja nedokážem pochopiť ju.
czarniecki

pridal som nejaké vysvetlenie, vo všeobecnosti zobraziť všetky stĺpec, a tak si pozri betrer čo join robí, alebo kde klauzula
nbk

A ak by som chcel vymenovať všetky pizze, ktoré majú vyššie ceny, ako konkrétne jeden? VYBERTE t2.pizza Z ponuky t1 VNÚTORNÉ spojenie menu t2 NA t1.cena = t2.cena KDE t1.cena > 'americano'; snažil som sa niečo takéto, ale, samozrejme, nemôžete porovnávať reťazec, celé číslo
czarniecki

to isté je s subquerz zou musieť vybrať cena americano, s von zou musieť pripojiť k inej tabuľke, ktorý filtruje everzthing sa, že je menšia, dať mu trz alebo urobiť ďalšiu otázku, teraz máte husle odkaz, ktorý môžete pridať
nbk

V iných jazykoch

Táto stránka je v iných jazykoch

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