Citation:
-Comment je pourrais faire par exemple pour sortir toutes les voitures en reparation le 2janvier 1999 par exemple
Il s'agit simplement de récupérer les véhicules ayant une fiche dont le 2 janvier 1999 est inclus dans l'intervalle datedebut et datefin :
Code:
1 2 3 4 5 6
|
SELECT idvehicule
FROM vehicule v
JOIN fiche f
ON v.idvehicule = f.idvehicule
WHERE convert('02/01/1999',datetime) BETWEEN f.datedebut AND f.datefin |
N'ayant jamais utilisé SQL Server, je ne suis pas très à l'aise avec les opérations sur les types date sous SQL Server.
"convert('02/01/1999',datetime)" est peut être à remplacer.
Citation:
-Comment faire pour changer le kilometrage des voitures avec une commande ALTER,
Ca n'est pas la commande ALTER mais UPDATE :
Code:
1 2 3 4
|
UPDATE vehicule
SET kmcompteur = 143245
WHERE idvehicule = [Id du vehicule à modifier] |
Citation:
SELECT numfiche,idvehicule
FROM fiche f,vehicule v
Moi ca me met une erreur(je peux pas creer des raccourci pour 2 tables)
Ca vous met une erreur car la colonne idvehicule se trouve dans les deux tables, cette colonne du SELECT est donc désignée de manière ambigüe.
Ceci dit, même si ça fonctionnait, vous feriez ici un produit cartésien, car vos conditions de jointure ne sont pas définies.
Utilisez plutot la syntaxe normalisée, on joint les lignes de la table fiche avec celles de la table vehicule ayant un idvehicule identique :
Code:
1 2 3 4 5
|
SELECT f.numfiche, v.idvehicule
FROM fiche f
JOIN vehicule v
ON f.idvehicule = v.idvehicule |
Citation:
Et donc du coup, si je veux retourner le nomutilisateur de UTILISATEUR et la dateétablissement
de FICHE et Nummineralogique de VEHICULE ca me fait un code vraiment tres long juste pour sortir des données de 3 tables.
Tout dépend ce que tu entends par long :
Code:
1 2 3 4 5 6 7
|
SELECT u.nomutilisateur, v.nummineralogique, f.dateetablissement
FROM utilisateur u
JOIN fiche f
ON u.idutilisateur = f.idutilisateur
JOIN vehicule v
ON f.idvehicule = v.idvehicule |