[php & sql] select count(*) from probleem

Pagina: 1
Acties:

Onderwerpen


  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
Probleem:

Ik heb een probleem met een query waar ik absoluut niet uit kom.

Ik heb in een (msql) database de volgende constructie:

Tabel 1 bestaat uit bepaalde studies met een study_id
Tabel 2 bevat uitgebreide informatie over de specifieke study met study_id als key
Tabel 3 bevat uitgebreide informatie over de specifieke study met study_id als key

Tabel 2 en 3 hebben dus een relatie met tabel 1

Nu wil ik weten of een bepaalde study_id in tabel 2 zit.
(dan weet ik dat deze bestaat en hoef ik em niet aan te maken maar kan ik een update doen)

Ik voer de volgende query uit:
SELECT COUNT(*) FROM tabel2 WHERE study_id = 'id_die_ik_wil_hebben'

Ik krijg nu een error terug maar die zegt niets,
unknown error on query "hier_de_query"

Wat ik heb geprobeerd:
Ik heb met een query analyser de query op de database uitgevoerd en deze voert de query wel goed uit!
dus aan de query ligt het niet

Ik heb de query veranderd naar:
SELECT COUNT(*) FROM tabel1 WHERE study_id = 'id_die_ik_wil_hebben'
en deze werkt wel gewoon alleen ik wil weten of de study_id in 2 zit of in 3 niet of ie wel of niet bestaat
(hieruit concludeer ik dat ik wel de goede database enzo aanroep)

Ik heb ook de query onwijs vaag gemaakt (ik denk misschien ligt het aan de relatie ofzo)
SELECT COUNT(*) FROM studies,study_tee WHERE study_tee.study_id = '9'
en dan doet ie het ook niet (maar weer wel in de query analyser)

ik heb al op google gezocht maar daar kan ik niets vinden vooral omdat mijn error unknown is weet ik niet veel
Ik weet dus echt niet meer waar ik moet zoeken daarom vraag ik het hier.

Verwijderd

probeer de query eens zonder COUNT(*) en dan mysql_num_rows()

[ Voor 5% gewijzigd door Verwijderd op 13-02-2003 09:42 ]


  • Glock
  • Registratie: November 2001
  • Niet online
SELECT count(*) AS telling .......

Denk dat dat de oplossing voor je is...

[ Voor 60% gewijzigd door Glock op 13-02-2003 09:43 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:30
Glock schreef op 13 February 2003 @ 09:42:
SELECT count(*) AS telling .......

Denk dat dat de oplossing voor je is...


Waarom? Denk je dat?
Wie zegt dat het DBMS dat de TS gebruikt case-sensitive is?

AFAIK is SQL Server niet case sensitive.

Is study_id numeriek? Dan mag je geen quotes zetten rond het study_id dat je wil hebben.

dus:
code:
1
2
3
SELECT COUNT(*)
FROM tabel
WHERE tabel.study_id = 1

bv.

[ Voor 30% gewijzigd door whoami op 13-02-2003 09:51 ]

https://fgheysels.github.io/


  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
Verwijderd schreef op 13 February 2003 @ 09:41:
probeer de query eens zonder COUNT(*) en dan mysql_num_rows()
ik gebruik geen mysql dus dat gaat niet werken, ik gebruik microsoft sql server (en dit kan ik niet veranderen want ik zit bij een bedrijf) dus daar hoeft men niet over te beginnen.

De AS optie snap ik niet helemaal, want waar moet ik die AS dan precies in de functie zetten????
(sorry als dit noob-achtig overkomt)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:30
xillius schreef op 13 februari 2003 @ 09:52:
[...]


ik gebruik geen mysql dus dat gaat niet werken, ik gebruik microsoft sql server (en dit kan ik niet veranderen want ik zit bij een bedrijf) dus daar hoeft men niet over te beginnen.
En waarom zou je dat doen. SQL Server is een RDBMS. MySQL is dat niet.
SQL Server is echt wel beter dan MySQL, dus, naar MySQL gaan zou een stap terug zijn. :P
De AS optie snap ik niet helemaal, want waar moet ik die AS dan precies in de functie zetten????
(sorry als dit noob-achtig overkomt)


De AS gebruik je om een alias aan een column-name of table name te geven.
Bv:
code:
1
2
3
SELECT COUNT(*) AS aantal
FROM tabel
ORDER BY aantal


Als je dus het aantal rows nodig hebt dat gereturned werd, dan kan je naar die column refereren als 'aantal';

https://fgheysels.github.io/

Pagina: 1