Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Poprawne zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
unsec
witam. Bardzo prosze o pomoc w skonstruowaniu własciwego zapytania - jakoś sobie z tym poradzić nie mogę.

W bazie mam tabele tematyczne. W tabelach są komórki w których 'losowo' występuje wartość 'ndnc'. Chciałbym otrzymać odczyt nazw tabel w funkcji występowania wartości 'ndnc' w tabelach a to ma umozliwić mi zmianę koloru nazwy tabeli przy wyświetlaniu (chodzi o sygnał że tu konkretnie brakuje wprowadzonych danych - ndnc jest właśnie wskaźnikiem braku danych.
W tabelach jest kolumna 'date' (typ - date). Dobrze gdyby udało się też ją uwzględnić - umożliwi to dodatkowo wyselekcjonowanie najpilniejszych braków do uzupełnienia np. z dnia dzisiejszego.

same nazwy tabel czytam

  1. global $__CMS_CONN__;
  2. $DBH = $__CMS_CONN__;
  3.  
  4. $STH = $DBH->query("
  5. SELECT table_name
  6. FROM information_schema.tables
  7. WHERE table_name
  8. LIKE 'v_c_ei_2___\_1%'
  9. ");
  10.  
  11.  
  12. echo'<ul>';
  13. foreach($STH AS $row)
  14. {
  15. echo" <li>&nbsp;&nbsp;&nbsp;".$row['table_name']."</a></li>";
  16. }
  17. echo' </ul>';
  18. ?>
  19.  
  20. </li>


dzięki serdeczne za ew. pomyślunek i miłego dnia życzę smile.gif)

edit - tłumacząc na polski -
1. chcę otrzymać listing nazw tabel w których w jakiejkolwiek komórce pojawił się znacznik 'ndnc'.
2. chcę otrzymać listing nazw tabel w których w jakiejkolwiek komórce pojawił się znacznik 'ndnc' z uwzglednieniem zadanej wartości 'date'

struktura przykładowej tabeli

  1. `v_c_ei_2011_112_1045` (
  2. `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `date` date DEFAULT NULL,
  4. `time` time DEFAULT NULL,
  5. `index_period` varchar(10) NOT NULL,
  6. `index_p_previous` varchar(10) NOT NULL,
  7. `index_p_previous_old` varchar(10) NOT NULL,
  8. `index_p_consensus` varchar(10) NOT NULL,
  9. `index_p_actual` varchar(10) NOT NULL,
  10. `index_py_previous` varchar(10) NOT NULL,
  11. `index_py_previous_old` varchar(10) NOT NULL,
  12. `index_py_consensus` varchar(10) NOT NULL,
  13. `index_py_actual` varchar(10) NOT NULL,
  14. `impact_market` int(10) NOT NULL,
  15. `impact_actual` int(10) NOT NULL,
  16. `index_comment` text NOT NULL,
  17. `index_comment_pl` text NOT NULL,
  18. PRIMARY KEY (`id`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;
  20.  


i dane

  1. `v_c_ei_2011_112_1045` (`id`, `date`, `time`, `index_period`, `index_p_previous`, `index_p_previous_old`, `index_p_consensus`, `index_p_actual`, `index_py_previous`, `index_py_previous_old`, `index_py_consensus`, `index_py_actual`, `impact_market`, `impact_actual`, `index_comment`, `index_comment_pl`) VALUES
  2. (1, '2011-01-25', '09:30:00', 'Q4p 10', 'nd', 'ndnc', '0.4', '-0.5', 'nd', 'nd', '2.6', '1.7', 0, 0, 'nd ', 'ndnc'),
  3. (2, '2011-02-25', '09:30:00', 'Q4r 10', 'nd', 'ndnc', '-0.5', '-0.6', 'nd', 'nd', '1.7', '1.5', 0, 0, 'nd', 'ndnc'),
mortus
Ciężko to ogarnąć. Podaj DDL przykładowych tabel.
unsec
ok, jakoś moim szarym komórkom udało się zawalczyć z tematem. Dla tych którzy ew. mogą kiedyś mieć podobnego zgryza - rozwiązanie polega na 2-ch przelotach SELECT - raz po bazie => nazwy tabel, a drugi raz mając nazwy tabel po ich zawartości. Teraz to brzmi prosto smile.gif).
pzdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.