Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795

    [Mysql] singola query che restituisca una stringa o un array?

    ciao a tutti. allora, io ho due tabelle: news e immagini.
    nella tabella immagini c'è il campo id_news, in modo da avere più immagini per ogni news.
    Ora: vorrei fare una select unica che mi restituisca alcuni valori di una singola news (titolo, testo) e TUTTI gli id_immagine relativi alle immagini legate alla singola news.
    quindi ho provato a fare:

    SELECT titolo, testo, (SELECT id_immagine FROM immagini WHERE id_news=1) as id_img FROM news where id=1

    Ovviamente errore: subquery ha più di un risultato. ora, la domanda è questa:
    c'è una funzione che mi dia il risultato della subquery (id_img) come una stringa con un separatore? o meglio ancora, come un array?

    Grazie 1000!
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  2. #2
    editato....

    Non avevo capito la domanda....



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    si, con php ero capace mi chiedevo se ci fosse una funzione di mysql, tipo SELECT titolo, testo, CONCATENA (SELECT id_immagine FROM immagini WHERE id_news=1) as id_img FROM news where id=1 che lo facesse "al volo".
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    trovato!
    SELECT titolo, testo,(SELECT GROUP_CONCAT (id) FROM img_prod WHERE id_prod=1) as id_img FROM news where id=1
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    ok, funzica! un passetto più avanti: c'è modo di farlo con un join invece che con una subquery? Ci ho provato ma non ho ottenuto grandi risultati :master:
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    trovato! se servisse a qualcuno:
    select p.nome,p.descrizione,group_concat(ip.id) AS id_img FROM prodotti p INNER JOIN img_prod ip ON ( p.id = ip.id_prod) WHERE p.id = 1 GROUP BY p.id;
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.