Come confrontare un valore, un valore che corrisponde ad un altro valore?

0

Domanda

Ho una tabella:

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

Ho bisogno di elencare tutti i pizza gli elementi che hanno la stessa country elemento, come sicilliano pizzanon utilizzare una subquery.

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

Migliore risposta

1

INNER JOIN stessa tabella, vedere manuale su JOIN

Come non vuoi sottoquery, è circumvnt di esso, utilizzando join, quando si esegue

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

Si vede tat per sempre il paese di riga in t1 si trova una fila da t2. Così, per siziliano in t1 si ottiene funghi e siziliano in t2.

Il resto è la riduzione di tutti t2 righe, di quelli di cui hai bisogno

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<>violino qui

2021-11-24 08:56:30

Posso chiedere qualche spiegazione più dettagliata? Ho provato a leggere questi manuali tuttavia, non riesco a comprenderla.
czarniecki

ho aggiunto qualche spiegazione, in generale, mostrano tutti i colonna e così betrer che unirsi a rende o la clausola where
nbk

E se io volessi un elenco di tutte le pizze, che hanno prezzi più elevati, rispetto a uno in particolare? SELEZIONARE t2.pizza a scelta DAL menù t1 INNER JOIN menu t2 A t1.prezzo = t2.prezzo DOVE t1.prezzo > 'l'americano"; ho provato qualcosa di simile a questo, ma ovviamente non si può non confrontare la stringa con il numero intero
czarniecki

è la stessa cosa con un subquerz zou necessario selezionare il prezzo di americano, con zou bisogno di unirsi a un'altra tabella che filtri everzthing che è più piccolo, dare un trz o fare un'altra domanda, ora avete un violino link a cui si può aggiungere
nbk

In altre lingue

Questa pagina è in altre lingue

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