Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: left join mysql

  1. #1

    left join mysql

    salve io ho questa query
    SELECT annunci.id AS id,
    annunci.nome_annuncio AS nome_annuncio,
    annunci.tipo_strada AS tipo_strada,
    FROM annunci LEFT JOIN disponibilita ON annunci.id =disponibilita.id_annuncio
    WHERE annunci.attivo ='si' AND
    (( disponibilita.data != '2010-08-25' AND
    disponibilita.data != '2010-08-26' AND
    disponibilita.data != '2010-08-27' AND
    disponibilita.data != '2010-08-28' )
    OR disponibilita.data IS NULL)
    GROUP BY annunci.id

    ORDER BY annunci.id DESC LIMIT 0,10

    disponibilita.data è la data in cui non c'è la disponibilità
    le due tabelle annunci e disponibilta sono legate con il left join
    LEFT JOIN disponibilita ON annunci.id =disponibilita.id_annuncio
    Nella tabella disponibilta la data indica il giorno in cui non c'è disponibilità
    id Decrescente id_annuncio data
    454 10 2010-08-29
    453 10 2010-08-28
    452 10 2010-08-27

    pertanto io voglio visualizzare gli annunci che non hanno una data inserita nella tabella disponibilità che non corrispondi a quelle della query sopra riportata.
    quindi in questo casao l'annuncio con id =10 non deve essere visualizzato mentre l'annuncio con id=11 "si".
    Spero di essere stato chiaro.
    fabio

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se posti un dump delle due tabelle comprensivo di qualche record è più facile fare una prova.

  3. #3
    tabella disponibilita
    CREATE TABLE IF NOT EXISTS `disponibilita` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `id_annuncio` int(10) unsigned NOT NULL,
    `data` date default NULL,
    PRIMARY KEY (`id`,`id_annuncio`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=455 ;

    --
    -- Dump dei dati per la tabella `disponibilita`
    --

    INSERT INTO `disponibilita` (`id`, `id_annuncio`, `data`) VALUES
    (346, 1, '2010-06-23'),
    (398, 2, '2010-06-24'),
    (345, 1, '2010-06-22'),
    (344, 1, '2010-06-21'),
    (397, 2, '2010-06-23'),
    (399, 0, '2010-08-01'),
    (400, 0, '2010-08-02'),
    (401, 0, '2010-08-03'),
    (402, 0, '2010-08-04'),
    (403, 0, '2010-08-05'),
    (404, 0, '2010-08-06'),
    (405, 0, '2010-08-07'),
    (406, 4, '2010-08-01'),
    (407, 4, '2010-08-02'),
    (408, 4, '2010-08-10'),
    (409, 4, '2010-08-11'),
    (410, 4, '2010-08-12'),
    (411, 4, '2010-08-13'),
    (412, 4, '2010-08-14'),
    (413, 4, '2010-08-15'),
    (414, 4, '2010-08-16'),
    (415, 4, '2010-08-17'),
    (416, 4, '2010-08-18'),
    (417, 4, '2010-08-19'),
    (418, 4, '2010-08-20'),
    (419, 4, '2010-08-21'),
    (420, 4, '2010-09-01'),
    (421, 4, '2010-09-02'),
    (422, 4, '2010-09-03'),
    (423, 4, '2010-09-04'),
    (454, 10, '2010-08-29'),
    (453, 10, '2010-08-28'),
    (452, 10, '2010-08-27'),
    (428, 11, '2010-08-01'),
    (429, 11, '2010-08-02'),
    (430, 11, '2010-08-03'),
    (431, 11, '2010-08-04'),
    (432, 11, '2010-08-05'),
    (433, 11, '2010-08-12'),
    (434, 11, '2010-08-13'),
    (435, 11, '2010-08-14'),
    (436, 11, '2010-08-22'),
    (437, 11, '2010-08-23'),
    (438, 11, '2010-08-24'),
    (439, 11, '2010-08-25'),
    (451, 10, '2010-08-26');

  4. #4

  5. #5
    Questo è il dump delle due tabelle

    CREATE DATABASE IF NOT EXISTS fittocasa;
    USE fittocasa;

    --
    -- Definition of table `annunci`
    --

    DROP TABLE IF EXISTS `annunci`;
    CREATE TABLE `annunci` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) DEFAULT NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) DEFAULT NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `i

  6. #6
    Questo è il dump delle due tabelle

    CREATE DATABASE IF NOT EXISTS fittocasa;
    USE fittocasa;

    --
    -- Definition of table `annunci`
    --

    DROP TABLE IF EXISTS `annunci`;
    CREATE TABLE `annunci` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) DEFAULT NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) DEFAULT NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `info_tras_por

  7. #7
    Questo è il dump delle due tabelle

    CREATE DATABASE IF NOT EXISTS fittocasa;
    USE fittocasa;

    --
    -- Definition of table `annunci`
    --

    DROP TABLE IF EXISTS `annunci`;
    CREATE TABLE `annunci` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) DEFAULT NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) DEFAULT NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `info_tras_por` text N

  8. #8
    CREATE TABLE IF NOT EXISTS `annunci` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) default NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) default NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `info_tras_por` text NOT NULL,
    `link_ted` varchar(245) NOT NULL,
    `link_ing` varchar(245) NOT NULL,
    `link_spa` varchar(245) NOT NULL,
    `link_fra` varc

  9. #9
    --
    -- Dump dei dati per la tabella `annunci`
    --
    CREATE TABLE IF NOT EXISTS `annunci` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) default NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) default NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `info_tras_por` text NOT NULL,
    `link_ted` varchar(245) NOT NULL,
    `link_ing` varchar(245) NOT NULL,
    `link_spa` varchar(245) NOT NULL,

  10. #10
    --
    -- Dump dei dati per la tabella `annunci`
    --
    CREATE TABLE IF NOT EXISTS `annunci` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `tipo_strada` int(10) unsigned NOT NULL,
    `nome_via` varchar(45) NOT NULL,
    `numero` varchar(45) default NULL,
    `scala` varchar(45) NOT NULL,
    `piano` varchar(5) NOT NULL,
    `porta` varchar(5) NOT NULL,
    `paese` varchar(45) NOT NULL,
    `codice_postale` varchar(10) NOT NULL,
    `regione` varchar(45) NOT NULL,
    `provincia` varchar(45) NOT NULL,
    `comune` varchar(45) default NULL,
    `quartiere` varchar(45) NOT NULL,
    `latitudine` varchar(45) NOT NULL,
    `longitudine` varchar(45) NOT NULL,
    `posiziona` text NOT NULL,
    `trasporti_zona` text NOT NULL,
    `info_tras_ted` text NOT NULL,
    `info_tras_ing` text NOT NULL,
    `info_tras_spa` text NOT NULL,
    `info_tras_fra` text NOT NULL,
    `info_tras_ita` text NOT NULL,
    `info_tras_por` text NOT NULL,
    `link_ted` varchar(245) NOT NULL,
    `link_ing` varchar(245) NOT NULL,
    `link_spa` varc

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 © 2026 vBulletin Solutions, Inc. All rights reserved.