Je pense que MySQL
est la langue la plus difficile pour moi, j'ai commencé à apprendre MySQL il y a un an et je ne comprends toujours pas ce que je peux faire et comment je peux construire mes requêtes sans demander ici.MySQL: Travailler avec @vars et sous-requêtes
J'ai une simple requête où je voudrais voir comment je peux @vars
, donc j'ai tryied ceci:
SELECT param_1, @param := param_2, @param
FROM my_table
le résultat est:
param_1 @param := param_2 @param
Dave 3 [BLOB - 1B]
Mike 4 [BLOB - 2B]
Luke 2 [BLOB - 2B]
Bob 65 [BLOB - 2B]
Dean 6 [BLOB - 2B]
doesnt il @param
doit être égal à param_2?
param_1 @param := param_2 @param
Dave 3 3
Mike 4 4
Luke 2 2
Bob 65 65
Dean 6 6
Qu'est-ce [BLOB - 1B]
et [BLOB - 2B]
?
Parfois, je fais quand je dois les sous-requêtes pour obtenir qu'une seule valeur par résultat d'une table spécifique qui peut avoir plusieurs résultats, donc j'utiliser mais je ne les sous-requêtes sais pas comment cela fonctionne exactement:
SELECT table_1.param_1, table_1.param_2, @param = table_1.param_3, new_table_2.param_1, new_table_2.param_2
FROM table_1
LEFT JOIN (SELECT *
FROM table_2
WHERE new_table_2.param_1 = @param
LIMIT 1
) new_table_2
ON new_table_2.param_1 = @param
WHERE table_1.param_2 = 33
Mes questions sont:
Pourquoi je reçois [BLOB - 1B]
et [BLOB - 2B]
dans la première requête? Est-ce que quelqu'un peut m'expliquer comment @vars
peut être passé correctement aux sous-requêtes?
Lorsque des sous-séries doivent être utilisées?
Fondamentalement, quel est le processus d'une requête, existe-t-il un guide clair sur la façon dont les données sont retournées?
Si vous avez vu un exemple de @ comme ça? –
J'ai écrit celui-ci et j'essaie de le tester mais je sais qu'il pourrait être mal structuré, je comprendrais comment je peux le réparer en voyant de bons exemples de sous-requêtes. – vitto
http://dev.mysql.com/doc/refman/5.0/fr/user-variables.html – ajreal