Bonjour à tous,
J'ai une base pour un système de petites annonces organisé comme suit :
Une table annonceurs
Une table annonces
Et une table des parutions ; qui pointe sur un annonceur et une annonce et
donne pour chaque parution une date de début et de fin de parution et un
code postal (qui est le lieu de parution)
Dans mon system de petits annonces, un annonceur qui est domicilié dans le
92100 peut passer des annonces sur d'autres localités (75016 par exemple)
Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
domiciliés dans 75016 passent avant les autres parutions
Donc je fais deux requêtes :
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
Pour afficher mes annonces !
Est il possible de faire ça en une seule requête ?
Et comment ?
Bonjour à tous,
J'ai une base pour un système de petites annonces organisé comme suit :
Une table annonceurs
Une table annonces
Et une table des parutions ; qui pointe sur un annonceur et une annonce et
donne pour chaque parution une date de début et de fin de parution et un
code postal (qui est le lieu de parution)
Dans mon system de petits annonces, un annonceur qui est domicilié dans le
92100 peut passer des annonces sur d'autres localités (75016 par exemple)
Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
domiciliés dans 75016 passent avant les autres parutions
Donc je fais deux requêtes :
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
Pour afficher mes annonces !
Est il possible de faire ça en une seule requête ?
Et comment ?
Bonjour à tous,
J'ai une base pour un système de petites annonces organisé comme suit :
Une table annonceurs
Une table annonces
Et une table des parutions ; qui pointe sur un annonceur et une annonce et
donne pour chaque parution une date de début et de fin de parution et un
code postal (qui est le lieu de parution)
Dans mon system de petits annonces, un annonceur qui est domicilié dans le
92100 peut passer des annonces sur d'autres localités (75016 par exemple)
Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
domiciliés dans 75016 passent avant les autres parutions
Donc je fais deux requêtes :
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
Pour afficher mes annonces !
Est il possible de faire ça en une seule requête ?
Et comment ?
Tu peux mettre un Union entre tes deux requêtes
du genre
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
union
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrac9$b85$
> Bonjour à tous,
>
>
>
> J'ai une base pour un système de petites annonces organisé comme suit :
>
>
>
> Une table annonceurs
>
> Une table annonces
>
> Et une table des parutions ; qui pointe sur un annonceur et une annonce
> donne pour chaque parution une date de début et de fin de parution et un
> code postal (qui est le lieu de parution)
>
>
>
> Dans mon system de petits annonces, un annonceur qui est domicilié dans
> 92100 peut passer des annonces sur d'autres localités (75016 par
.
>
>
>
> Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> domiciliés dans 75016 passent avant les autres parutions
>
>
>
> Donc je fais deux requêtes :
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> Pour afficher mes annonces !
>
>
>
>
>
> Est il possible de faire ça en une seule requête ?
>
> Et comment ?
>
>
Tu peux mettre un Union entre tes deux requêtes
du genre
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
union
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrac9$b85$1@news-reader2.wanadoo.fr...
> Bonjour à tous,
>
>
>
> J'ai une base pour un système de petites annonces organisé comme suit :
>
>
>
> Une table annonceurs
>
> Une table annonces
>
> Et une table des parutions ; qui pointe sur un annonceur et une annonce
> donne pour chaque parution une date de début et de fin de parution et un
> code postal (qui est le lieu de parution)
>
>
>
> Dans mon system de petits annonces, un annonceur qui est domicilié dans
> 92100 peut passer des annonces sur d'autres localités (75016 par
.
>
>
>
> Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> domiciliés dans 75016 passent avant les autres parutions
>
>
>
> Donc je fais deux requêtes :
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> Pour afficher mes annonces !
>
>
>
>
>
> Est il possible de faire ça en une seule requête ?
>
> Et comment ?
>
>
Tu peux mettre un Union entre tes deux requêtes
du genre
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
union
SELECT *
FROM mes_tables
WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal = 75016)
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrac9$b85$
> Bonjour à tous,
>
>
>
> J'ai une base pour un système de petites annonces organisé comme suit :
>
>
>
> Une table annonceurs
>
> Une table annonces
>
> Et une table des parutions ; qui pointe sur un annonceur et une annonce
> donne pour chaque parution une date de début et de fin de parution et un
> code postal (qui est le lieu de parution)
>
>
>
> Dans mon system de petits annonces, un annonceur qui est domicilié dans
> 92100 peut passer des annonces sur d'autres localités (75016 par
.
>
>
>
> Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> domiciliés dans 75016 passent avant les autres parutions
>
>
>
> Donc je fais deux requêtes :
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
>
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> Pour afficher mes annonces !
>
>
>
>
>
> Est il possible de faire ça en une seule requête ?
>
> Et comment ?
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#iDHA.2512@TK2MSFTNGP11.phx.gbl...
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$1@news-reader2.wanadoo.fr...
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#iDHA.2512@TK2MSFTNGP11.phx.gbl...
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$1@news-reader2.wanadoo.fr...
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
J'ai ca, comme mpessage d'erreur !!!
ODBC Error Code = 37000 (Syntax error or access violation)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers le
mot clé 'UNION'.
"AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
eWhJgx#
> Tu peux mettre un Union entre tes deux requêtes
>
> du genre
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal = 75016) AND (parution.code_postal = 75016)
>
> union
>
> SELECT *
>
> FROM mes_tables
>
> WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal 75016)
>
>
>
> "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> news:blrac9$b85$
> > Bonjour à tous,
> >
> >
> >
> > J'ai une base pour un système de petites annonces organisé comme suit
> >
> >
> >
> > Une table annonceurs
> >
> > Une table annonces
> >
> > Et une table des parutions ; qui pointe sur un annonceur et une
et
> > donne pour chaque parution une date de début et de fin de parution et
> > code postal (qui est le lieu de parution)
> >
> >
> >
> > Dans mon system de petits annonces, un annonceur qui est domicilié
le
> > 92100 peut passer des annonces sur d'autres localités (75016 par
exemple)
> .
> >
> >
> >
> > Lorsque j'affiche les annonces du 75016, les parutions des annonceurs
> > domiciliés dans 75016 passent avant les autres parutions
> >
> >
> >
> > Donc je fais deux requêtes :
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> >
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > Pour afficher mes annonces !
> >
> >
> >
> >
> >
> > Est il possible de faire ça en une seule requête ?
> >
> > Et comment ?
> >
> >
>
>
Je viens d'essayer sur la base pubs de SQL serveur
la requête suivante :
essaye la et tu verra que ça marche
declare @varauthors bit
select @varauthors=1 -- 1 ou 0
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ça marche niquel ;-)))
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrqqt$r7$
> J'ai ca, comme mpessage d'erreur !!!
>
> ODBC Error Code = 37000 (Syntax error or access violation)
>
> [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers
> mot clé 'UNION'.
>
>
>
>
>
>
> "AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
> eWhJgx#
> > Tu peux mettre un Union entre tes deux requêtes
> >
> > du genre
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> > union
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> > news:blrac9$b85$
> > > Bonjour à tous,
> > >
> > >
> > >
> > > J'ai une base pour un système de petites annonces organisé comme
:
> > >
> > >
> > >
> > > Une table annonceurs
> > >
> > > Une table annonces
> > >
> > > Et une table des parutions ; qui pointe sur un annonceur et une
annonce
> et
> > > donne pour chaque parution une date de début et de fin de parution
un
> > > code postal (qui est le lieu de parution)
> > >
> > >
> > >
> > > Dans mon system de petits annonces, un annonceur qui est domicilié
dans
> le
> > > 92100 peut passer des annonces sur d'autres localités (75016 par
> exemple)
> > .
> > >
> > >
> > >
> > > Lorsque j'affiche les annonces du 75016, les parutions des
> > > domiciliés dans 75016 passent avant les autres parutions
> > >
> > >
> > >
> > > Donc je fais deux requêtes :
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal > 75016)
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > > 75016)
> > >
> > >
> > >
> > > Pour afficher mes annonces !
> > >
> > >
> > >
> > >
> > >
> > > Est il possible de faire ça en une seule requête ?
> > >
> > > Et comment ?
> > >
> > >
> >
> >
>
>
Je viens d'essayer sur la base pubs de SQL serveur
la requête suivante :
essaye la et tu verra que ça marche
declare @varauthors bit
select @varauthors=1 -- 1 ou 0
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ça marche niquel ;-)))
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrqqt$r7$1@news-reader3.wanadoo.fr...
> J'ai ca, comme mpessage d'erreur !!!
>
> ODBC Error Code = 37000 (Syntax error or access violation)
>
> [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers
> mot clé 'UNION'.
>
>
>
>
>
>
> "AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
> eWhJgx#iDHA.2512@TK2MSFTNGP11.phx.gbl...
> > Tu peux mettre un Union entre tes deux requêtes
> >
> > du genre
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> > union
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> > news:blrac9$b85$1@news-reader2.wanadoo.fr...
> > > Bonjour à tous,
> > >
> > >
> > >
> > > J'ai une base pour un système de petites annonces organisé comme
:
> > >
> > >
> > >
> > > Une table annonceurs
> > >
> > > Une table annonces
> > >
> > > Et une table des parutions ; qui pointe sur un annonceur et une
annonce
> et
> > > donne pour chaque parution une date de début et de fin de parution
un
> > > code postal (qui est le lieu de parution)
> > >
> > >
> > >
> > > Dans mon system de petits annonces, un annonceur qui est domicilié
dans
> le
> > > 92100 peut passer des annonces sur d'autres localités (75016 par
> exemple)
> > .
> > >
> > >
> > >
> > > Lorsque j'affiche les annonces du 75016, les parutions des
> > > domiciliés dans 75016 passent avant les autres parutions
> > >
> > >
> > >
> > > Donc je fais deux requêtes :
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal > 75016)
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > > 75016)
> > >
> > >
> > >
> > > Pour afficher mes annonces !
> > >
> > >
> > >
> > >
> > >
> > > Est il possible de faire ça en une seule requête ?
> > >
> > > Et comment ?
> > >
> > >
> >
> >
>
>
Je viens d'essayer sur la base pubs de SQL serveur
la requête suivante :
essaye la et tu verra que ça marche
declare @varauthors bit
select @varauthors=1 -- 1 ou 0
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ça marche niquel ;-)))
"[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
news:blrqqt$r7$
> J'ai ca, comme mpessage d'erreur !!!
>
> ODBC Error Code = 37000 (Syntax error or access violation)
>
> [Microsoft][ODBC SQL Server Driver][SQL Server]Syntaxe incorrecte vers
> mot clé 'UNION'.
>
>
>
>
>
>
> "AXL" <~cyrille.pele@~irec.fr> a écrit dans le message de news:
> eWhJgx#
> > Tu peux mettre un Union entre tes deux requêtes
> >
> > du genre
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal 75016)
> >
> > union
> >
> > SELECT *
> >
> > FROM mes_tables
> >
> > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > 75016)
> >
> >
> >
> > "[Bruno]" <brunonewsgroup[@]wanadoo.fr> a écrit dans le message de
> > news:blrac9$b85$
> > > Bonjour à tous,
> > >
> > >
> > >
> > > J'ai une base pour un système de petites annonces organisé comme
:
> > >
> > >
> > >
> > > Une table annonceurs
> > >
> > > Une table annonces
> > >
> > > Et une table des parutions ; qui pointe sur un annonceur et une
annonce
> et
> > > donne pour chaque parution une date de début et de fin de parution
un
> > > code postal (qui est le lieu de parution)
> > >
> > >
> > >
> > > Dans mon system de petits annonces, un annonceur qui est domicilié
dans
> le
> > > 92100 peut passer des annonces sur d'autres localités (75016 par
> exemple)
> > .
> > >
> > >
> > >
> > > Lorsque j'affiche les annonces du 75016, les parutions des
> > > domiciliés dans 75016 passent avant les autres parutions
> > >
> > >
> > >
> > > Donc je fais deux requêtes :
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal = 75016) AND (parution.code_postal > 75016)
> > >
> > >
> > >
> > > SELECT *
> > >
> > > FROM mes_tables
> > >
> > > WHERE (annonceur.code_postal <> 75016) AND (parution.code_postal > > 75016)
> > >
> > >
> > >
> > > Pour afficher mes annonces !
> > >
> > >
> > >
> > >
> > >
> > > Est il possible de faire ça en une seule requête ?
> > >
> > > Et comment ?
> > >
> > >
> >
> >
>
>
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
requêtes bout a bout !
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
requêtes bout a bout !
select 1 as test ,au_lname,au_fname from authors where state='CA' and
contract=@varauthors
union
select 2 as test ,au_lname,au_fname from authors where state='MD' and
contract=@varauthors
order by test
Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
requêtes bout a bout !
Dans le message:bls9pj$8le$,
[Bruno] <brunonewsgroup[@]wanadoo.fr> a écrit:
>> select 1 as test ,au_lname,au_fname from authors where state='CA' and
>> contract=@varauthors
>> union
>> select 2 as test ,au_lname,au_fname from authors where state='MD' and
>> contract=@varauthors
>> order by test
> Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
> requêtes bout a bout !
Pour cela, il vous suffit de laisser un champ ordre par exemple (cf dans
la requête indiquée le champ test) et de trier dessus
SELECT 1 as ordre, ...
UNION
SELECT 2 as ordre, ...
ORDER BY ordre, ...
--
..::: Pierre GOIFFON :::..
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/quotefix.php
(email temporairement supprimé pour cause de déferlante Swen :( )
Dans le message:bls9pj$8le$1@news-reader1.wanadoo.fr,
[Bruno] <brunonewsgroup[@]wanadoo.fr> a écrit:
>> select 1 as test ,au_lname,au_fname from authors where state='CA' and
>> contract=@varauthors
>> union
>> select 2 as test ,au_lname,au_fname from authors where state='MD' and
>> contract=@varauthors
>> order by test
> Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
> requêtes bout a bout !
Pour cela, il vous suffit de laisser un champ ordre par exemple (cf dans
la requête indiquée le champ test) et de trier dessus
SELECT 1 as ordre, ...
UNION
SELECT 2 as ordre, ...
ORDER BY ordre, ...
--
..::: Pierre GOIFFON :::..
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/quotefix.php
(email temporairement supprimé pour cause de déferlante Swen :( )
Dans le message:bls9pj$8le$,
[Bruno] <brunonewsgroup[@]wanadoo.fr> a écrit:
>> select 1 as test ,au_lname,au_fname from authors where state='CA' and
>> contract=@varauthors
>> union
>> select 2 as test ,au_lname,au_fname from authors where state='MD' and
>> contract=@varauthors
>> order by test
> Ce que je voudrais, c'est gardez un tri par requête et collé mes deux
> requêtes bout a bout !
Pour cela, il vous suffit de laisser un champ ordre par exemple (cf dans
la requête indiquée le champ test) et de trier dessus
SELECT 1 as ordre, ...
UNION
SELECT 2 as ordre, ...
ORDER BY ordre, ...
--
..::: Pierre GOIFFON :::..
Un grand merci à OE Quote Fix pour rendre OE utilisable :)
=> http://home.in.tum.de/~jain/software/quotefix.php
(email temporairement supprimé pour cause de déferlante Swen :( )