Avatar billede ramlev Nybegynder
28. november 1999 - 14:51 Der er 8 kommentarer og
1 løsning

Data fra 2 forskellige tables

Jeg har 2 tables, og jeg har brug for at kunne hente noget data ind fra den ene , hvis der er noget i den anden der er forskellig fra 1.

Altså :

table 1:
postnr,status(vil have værdien 0 ell. 1)

table 2:
navn,adresse,postnr.

Jeg skal så kun vise de records fra table 2 hvor table 1 har status <> 1.

Det er i php
Avatar billede morw22 Nybegynder
28. november 1999 - 18:59 #1
Prøv at lege med en join:

SELECT Table1.*, Table2.*
FROM Table1 INNER JOIN Table2 ON [Table1].[postnr]=[Table2].[postnr]
WHERE [Table1].[status]<>1;
Avatar billede ramlev Nybegynder
28. november 1999 - 21:23 #2
Det kunne jeg ikke få til at virke, jeg prøver lige med en ny forklaring.

Jeg har de 2 tables.

table1, indeholder alle postnr i danmark + et statusfelt som kan have 2 værdier 0 eller 1. hvis status er 1 så er postnr "i brug"

table2, indeholder en liste over forhandlere, + postnr

Det jeg så vil have som output er de forhandlere som ikke ligger i et postnr (table1) som er "i brug"

Avatar billede ramlev Nybegynder
28. november 1999 - 22:09 #3
jeg har nu lavet denne :
SELECT postnr.*, fhliste.* FROM postnr INNER JOIN fhliste ON postnr.postnr = fhliste.postnr WHERE postnr.owned <> 1;

og får fejl:
ERROR 1064:You have an error in your SQL syntax near 'ON postnr.postnr = fhliste.postnr WHERE postnr.owned <> 1' at line 1

Kan du/i hjælpe ?
Avatar billede morw22 Nybegynder
29. november 1999 - 08:54 #4
Kan du ikke lige uploade din table-stuckture, så vi kan teste?
Avatar billede ramlev Nybegynder
29. november 1999 - 09:03 #5
DE kommer her :

CREATE TABLE fhliste (
  navn varchar(60),
  x1 varchar(10),
  adresse varchar(60),
  x2 varchar(10),
  postnr varchar(6),
  town varchar(60),
  telefon int(8),
  tele2 int(8),
  xtranavn varchar(60),
  indehavernavn varchar(60),
  x4 varchar(60),
  x5 varchar(10),
  x6 varchar(10),
  x7 varchar(10),
  x8 varchar(10),
  x9 varchar(10),
  x10 varchar(10)
);

og ....
CREATE TABLE postnr (
  postnr varchar(6),
  town varchar(60),
  brID int(11) DEFAULT '0' NOT NULL,
  owned tinyint(2) DEFAULT '0' NOT NULL
);

Det er så owned det kan have værdien 0 eller 1, Er det nok, ellers fang mig på icq 11309277
Avatar billede morw22 Nybegynder
29. november 1999 - 09:18 #6
Nå prøv en LEFt join i stedet:

SELECT postnr.*, fhliste.*
FROM fhliste
Left JOIN postnr ON postnr.postnr = fhliste.postnr
WHERE postnr.owned <> 1;

Den er testet hos mig og virker.
Avatar billede morw22 Nybegynder
29. november 1999 - 09:20 #7
Hovsa!

Hvorfor er dit postnr et varchar felt?

Der er vel kun tal i?
Avatar billede ramlev Nybegynder
29. november 1999 - 09:35 #8
Ja det er der, er det derfor det ikke virker ? skal jeg ændre det til en int ?
Avatar billede ramlev Nybegynder
29. november 1999 - 09:42 #9
Okay det virker nu, efter jeg har ændret det til en INT i stedet, Tak for hjælpen ....
Points coming up
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester