Toon posts:

[MYSQL] Hoe begin ik hieraan ( QUERY )

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

Verwijderd

Topicstarter
ik ben nog maar 3 dagen bezig met mysql ( en kom aan volgende probleem )
ik heb 1 database, met meerdere tabellen waarbij bepaalde data aan elkaar gelinkt zou moeten worden ( nu vind ik in mijn boek niet direct hoe ik 2 tabellen aan elkaar koppel dmv een query ! )
de selects etc ... macheren wel ( maar dit is uit 1 tabel )

iemand die mij op weg kan helpen ? of weet op wat ik met zoek onder google
om dit op te lossen
Database : mycompany_TDB

CREATE TABLE artikel_TB (
art_id int(11) default NULL,
art_code varchar(255) default NULL,
art_oms_kort varchar(255) default NULL,
art_oms_lang varchar(255) default NULL,
merk_id int(11) default NULL,
subclasse_cat_id int(11) default NULL,
btw_art_id int(11) default NULL,
rekening_id int(11) default NULL,
stock_min int(11) default NULL,
stock_max int(11) default NULL,
in_stock int(11) default NULL,
commentaar text,
end_of_life enum('Y','N') default 'N',
locatie_id int(11) default NULL,
waardevermindering enum('Y','N') default 'N',
eenheid int(11) default NULL,
in_stock_beschikbaar int(11) default NULL,
driver_locatie varchar(255) default NULL
) TYPE=MyISAM;


CREATE TABLE prijzen_TB (
datum_input date default NULL,
medewerker_id int(11) default NULL,
aankoopprijs varchar(255) default NULL,
verkoopprijs varchar(255) default NULL,
art_id int(11) default NULL,
lev_id int(11) default NULL,
nominale_bestelhoeveelheid varchar(255) default NULL
) TYPE=MyISAM;
nu had ik graag de informatie opgevraagt alsvolgt
uit artikel_TB zou ik graag art_oms_lang , commentaar alles met 'promo' in , en uit prijzen_TB had ik graag verkoopprijs willen opvragen ( die is gekoppelt dmv art_id in artikel_TB en in prijzen_TB )

wie kan mij opweg helpen ( of kan mij zeggen waar ik moet zoeken ) want ik weet niet op welke zoektermen ik moet zoeken ( op de mysql site )

alvast bedankt

dummy mysql user

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 08:44

Maasluip

Kabbelend watertje

Voordat je een slotje krijgt (want je geeft zelf al aan dat je niks zelf uitzoekt), kijk hier eens.

Signatures zijn voor boomers.


Verwijderd

Topicstarter
dat heb ik niet gezegt ik wil wel zoeken maar je moet wel weten achter wat je moet zoeken hé ( dit heb ik tot nu toe gevonden )

mysql> select * from artikel_TB, prijzen_TB
-> where comment = 'promo'
-> and artikel_TB.art_id = prijzen_TB.art_id ;

maar hierbij krijg ik niks :'(

Verwijderd

Zoek even op JOIN

  • siggy
  • Registratie: Juni 2001
  • Laatst online: 23-05 06:51

siggy

Wait.... what?

Verwijderd schreef op 10 december 2003 @ 14:40:
dat heb ik niet gezegt ik wil wel zoeken maar je moet wel weten achter wat je moet zoeken hé ( dit heb ik tot nu toe gevonden )

mysql> select * from artikel_TB, prijzen_TB
-> where comment = 'promo'
-> and artikel_TB.art_id = prijzen_TB.art_id ;

maar hierbij krijg ik niks :'(
Joins zijn je vrienden.

select artikel_tb.art_id, prijzen_tb.art_id from artikel_tb inner join on (art_id)


En als de veldnamen verschillend zijn die je wilt koppelen:

select artikel_tb.art_id1, prijzen_tb.art_id2 from artikel_tb inner join using (artikel_tb.art_id1 = prijzen_tb.art_id2)

"I don't take life too seriously, no one gets out alive anyways..."


  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
code:
1
where comment = 'promo'

hier moet nog de tabel bij staan :)
code:
1
where artikel_TB.comment = 'promo'

of
code:
1
where prijzen_TB.comment = 'promo'

Verwijderd

Topicstarter
okido ik ben al groot stuk verder, thanx
nog wat verder zoeken sie

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 08:44

Maasluip

Kabbelend watertje

Verwijderd schreef op 10 december 2003 @ 14:40:
dat heb ik niet gezegt ik wil wel zoeken maar je moet wel weten achter wat je moet zoeken hé ( dit heb ik tot nu toe gevonden )
Daarom de link die ik gaf. Daar staat alles wat een beginner van SQL wil weten. Vooral de vierde link is zeer leerzaam.

Signatures zijn voor boomers.


Verwijderd

SELECT artikel_TB.art_oms_lang, artikel_TB.commentaar, prijzen_TB.verkoopprijs FROM artikel_TB LEFT JOIN prijzen_TB on artikel_TB.art_id = prijzen_TB.art_id WHERE prijzen_TB.commentaar LIKE "%promo%";

Dit moet 'm zijn als ik me niet vergis!

Met LEFT JOIN geef je aan dat je een andere tabel er aan wilt 'vastknopen', en daarna geef je welke velden overeen moeten komen in de beide tabellen. met WHERE commantaar LIKE "%promo%" geef je aan dat je alle records zoekt waarin promo in het commentaar voorkomt. Zou je "promo%" zeggen dan vind je alleen alle records waar het veld commentaar BEGINT met "promo". Deze zoekactie is overigens niet case sensitive.

Suc6

Verwijderd

Topicstarter
alvast bedankt

SELECT artikel_TB.art_oms_lang, artikel_TB.commentaar, prijzen_TB.verkoopprijs FROM artikel_TB LEFT JOIN prijzen_TB on artikel_TB.art_id = prijzen_TB.art_id WHERE artikel_TB.commentaar LIKE "%promo%";

krijg ik volgende
+------------------------+------------+--------------+
| art_oms_lang | commentaar | verkoopprijs |
+------------------------+------------+--------------+
| promo | 4,95 |
+------------------------+------------+--------------+
1 row in set (0.09 sec)

nu nog die art_oms_lang als output krijgen
ohja het was WHERE artikel_TB.commentaar LIKE "%promo%";
ipv WHERE prijzen_TB.commentaar LIKE "%promo%"; (klein detail ) maar toch super bedankt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:14
Gewoon dat veld nog in je SELECT list zetten dus.

Daarnaast is dit nogal basic SQL hoor. Misschien heb je hier nog wat aan

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.