Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Poprawne zapytanie
unsec
post 15.09.2011, 06:45:07
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 5.08.2011

Ostrzeżenie: (0%)
-----


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'),


Ten post edytował unsec 15.09.2011, 12:26:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mortus
post 15.09.2011, 10:23:28
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Ciężko to ogarnąć. Podaj DDL przykładowych tabel.
Go to the top of the page
+Quote Post
unsec
post 16.09.2011, 16:50:34
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 5.08.2011

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:55